您的位置:首页 > 编程语言 > Java开发

Java Web编程的主要组件技术——Struts入门

2015-03-08 14:15 295 查看
参考书籍:《J2EE开源编程精要15讲》

Struts是一个开源的Java Web框架,很好地实现了MVC设计模式。通过一个配置文件,把各个层面的应用组件联系起来,使组件在程序层面联系较少,耦合度较低。它定义了自己的标签库来实现是视图层,创建了一个内在的Servlet,叫ActionServlet,作为自己的控制器,建立一个叫Action类的对象实现业务逻辑。视图组件和业务逻辑组件的关系在struts-config.xml的配置文件中声明。当Struts应用程序启动时,它首先从struts-config.xml文件中读取信息。根据信息,控制器ActionServlet知道把视图中的请求转发给对应的业务逻辑组件处理,各组件之间没有代码上的联系。

Struts工作原理图:

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

public class loginActionForm extends ActionForm {
private String username;

public String getUserName(){
return username;
}
public void setUsername(String username){
this.username=username;
}
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
return null;
}
public void reset(ActionMapping mapping, HttpServletRequest request) {
}
}


View Code
    控制器将表单数据填入ActionForm实例之前,会先调用reset()方法,可将ActionForm性质重新设置为默认状态。当输出插入完毕后,控制器会调用

    validate()方法,对输入的数据进行验证,并向控制器返回任何错误。业务逻辑验证应在业务对象中完成,ActionForm中进行的验证只是表示层的验

    证。

      

    2) Struts标记库

      包括HTML标记库、Bean标记库、Logic标记库、Nested标记库、Template标记库和Tiles标记库

      要使用这些标记库,需在web.xml中注册这些标记库

      例如使用HTML标记库:

        <taglib>

          <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>

          <taglib-location>/WEB-INF/struts-html.tld</taglib-location>

        </taglib>

      并在JSP页面引入taglib元素:<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>,最后加入所需JAR包

    3) 使用消息资源包

      Java库中有一组类允许从Java类或属性文件(properties file)中读取消息资源。Struts也提供了一组类似的类,

      org.apache.struts.util.MessageResources

      例如 登入应用程序的资源包:

      #页面标题  

      title.login=Login

      #图像

      image.logo=image/logo.gif

      如何将title.Login插入到页面中:

      <title><bean:message key="title.login"/></title>

  模型组件

    JavaBeans或EJB

应用示例一:/article/4139605.html

应用示例二 简单登陆系统:http://pan.baidu.com/s/1DAHCa
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: