这本书是07年出的中文版,虽然已经有了深入浅出struts2的英文版。但是为了从最初了解struts,这本书还是值得一看的。看完之后总体觉得这本书对struts介绍的是比较全面的,但是由于这本书不是很厚,所以内容不是很深入。不过各方面技术都有所涉及,比较适合初学者,能使初学者快速的全面把握struts的整体印象。无须赘述,进入各章的内容。
第一章 Model2与Struts
Model1的设计以页面为中心。这就导致了以下的缺点:
浏览问题,如果想改变某个链接,就需要修改全部的
Java 与HTML混杂
编写自定义标签比较复杂
Model将应用程序划分为三个部分:模型(JavaBean)、视图(JSP)和控制器(servlet)。各部分各司其职,结构清楚。便于开发、测试、维护、扩展。
传输对象:传输对象包含数据元素,不包含业务逻辑。传输对象必须是可串行化的。常用的方法将传输对象的属性设为似有的,但是提供共有的访问,改变方法。
1.2节讲解了一个简单的例子,添加产品。ProductTO类用来存放信息的传输对象,ControllerServlet类继承HttpServlet,它的doGet和doPost方法都调用了process方法,在process方法中处理业务逻辑。
注意下面的语句:ProductTo p=new ProductTo();…request.setAttribute(“product”,p);….RuquestDistpacher rd=request.getRequestDispacher(“链接”); rd.forward(request,response);
在试图层显示产品属性用<c:out value=”${product.属性名}”>访问属性
需要在web.xml部署
<web-app><servlet><servlet-name>controller</servlet-name><servlet-class>….</servlet-class>
<servlet-mapping><servlet-name>controller</servlet-name><url-patter>,,,,</url-pattern>。。。。
1.4 struts入门
1.4.1 Struts配置文件struts-config.xml
<struts-config>
<action-mappings>
<action path=”/saveProduct” type=”对应的动作类”>
<forward name=”success” path=”链接到的页面”>
</action>
<action-mappings>
</struts-config>
在savePruduct的动作类中调用它的excute方法:
Public ActionForward excute(ActionMapping mapping,ActionForm form,SerletRequest request,ServletResponse response)throws Exception
{
….
Return mapping.findForward(success);
}
1,4,2 实例
注意web.xml中的
<servlet-mapping><servlet-name>action</serletname><url-patter>*.do</url-patter><servlet-mapping>表示所有的action都用*.do的形式表示。
第二章 利用表单验证输入
在配置文件中注册表单
<form-beans>
<form-bean name=”productForm” type=”实现类”>
</form-beans>
ActionForm类中的Validate方法用来对编写输入验证规则:
Public ActionErrors validate(ActionMapping mapping,ServletRequest requet)
{
ActionErrors erro=new ActionErros();
If()
erros.add();
return erros;
}
输入验证成功则将控制权转交给Action,否则交给input指定页面
<action-mappings>
<action path=”/saveProduct” type=”对应的动作类” name=” productForm” input=”验证失败时候的页面”>
<forward name=”success” path=”链接到的页面”>
</action>
</action-mappings>
</struts-config>
使用HTML标签库
<%@ taglib uri=”/tags/struts-html” prefix=”html”%>
<html:erros/>
<html:form action=”/saveProduct”>
<html:text property=”name”>
…
多页表单;多个页面完成一个表单
<action path=”/page1” name=” productForm” scope=”session” forward=”page1.jsp”>
<action path=”/page2” name=” productForm” scope=”session” forward=”page1.jsp”>
<action path=”/page2” name=” productForm” scope=”session” forward=”page1.jsp”>
<forward name=”success” path=”链接到的页面”>
</action>
</action-mappings>
</struts-config>
第三章 HTML标签
(略)
第四章 输入验证和数据转换
注意SimpleDateFormat类,使用BeanUtils类
注意以后学习Jakarta的commons组件
第五章Validate插件
略
第六章EL语言
略