|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
<html:errors>:用于显示Struts框架中其他组件产生的错误消息。 <html:form>:用于创建HTML表单,它能够把HTML表单的字段和ActionForm Bean的属性关联起来。 <html:text>:该标签是<html:form>的子标签,用于创建HTML表单的文本框。它和ActionForm Bean的属性相关联。 <bean:message>:用于输出本地化的文本内容,它的key属性指定消息key,和消息key匹配的文本内容来自于专门的Resource Bundle <bean:write>:用于输出JavaBean的属性值。本例中,它用于输出personbean对象的userName属性值:<bean:write name="personbean" property="userName" /> <logic:present>标签用来判定JavaBean在特定的范围内是否存在,只有当JavaBean存在,才会执行标签主体中的内容。 控制器组件包括ActionServlet类和Action类。ActionServlet类是Struts框架自带的,它是整个Struts框架的控制枢纽,通常不需要扩展。Struts框架提供了可供扩展的Action类,它用来处理特定的HTTP哀求。 当用户提交了HTML表单,Struts框架自动把表单数据组装到ActionForm Bean中。ActionForm Bean中的属性和HTML表单中的字段一一对应。接下来Struts框架会自动调用ActionForm Bean的validate()方式进行表单验证。假如validate()方式返回的ActionErrors 对象为null,或者不包含任何ActionMessage对象,就表示没有错误,数据验证通过。假如ActionErrors中包含ActionMessage对象,就表示发生了验证错误,Struts框架会把ActionErrors对象保存到request范围内,然后把哀求转发到恰当的视图组件,视图组件通过<html:errors>标签把request范围内的ActionErrors对象中包含的错误消息显示出来,提示用户修改错误。 Action类的工作机制:当ActionForm Bean被创建,并且表单验证顺利通过后, Struts框架就会调用Action类的execute()方式。execute()方式包含以下参数: ActionMapping:包含了这个Action的配置信息,和struts-config.xml文件中的<action>元素对应。 ActionForm:包含了用户的表单数据,当Struts框架调用execute()方式时,ActionForm中的数据已经通过了表单验证。 HttpServletRequest:当前的HTTP哀求对象 HttpServletResponse:当前的HTTP响应对象 Action类的execute()方式返回ActionForward对象,它包含了哀求转发路径信息。 当HelloAction类调用HttpServletRequest的setAttribute()方式,向hello.jsp传递PersonBean对象时,需要提供一个名为“personbean”的属性key: request.setAttribute("personbean",pb); hello.jsp通过这个名为“personbean”的属性key来读取PersonBean对象: <logic:present name="personbean" scope="request"> <h2> Hello <bean:write name="personbean" property="userName" />!<p> </h2> </logic:present> <action path = "/HelloWorld" //指定哀求访问Action的路径 type = "hello.HelloAction" //指定Action的完整类名 name = "HelloForm" //指定需要传递给Action的ActionForm Bean scope = "request" //指定ActionForm Bean的存放范围 validate = "true" //指定是否执行表单验证 input = "/hello.jsp"> //指定当表单验证失败时的转发路径 <forward name="SayHello" path="/hello.jsp" /> //定义了一个哀求转发路径 </action> 本例中的<action>元素配置了HelloAction组件,对应的类为hello.HelloAction,哀求访问路径为“HelloWorld”,当Action类被调用时,Struts框架应该把已经包含表单数据的HelloForm Bean传给它。HelloForm Bean存放在request范围内,并且在调用Action类之前,应该进行表单验证。假如表单验证失败,哀求将被转发到接收用户输入的网页hello.jsp,让用户纠正错误。 返回类别: 教程 上一教程: 看"java编程思想"笔记(5-6) 下一教程: 《Effective Java》学习笔记(3) 您可以阅读与"struts-helloapp 学习小记"相关的教程: · [学习小记]Java的反射机制 · Java核心编程:卷I??学习小记 · STRUTS应用实例:HELLOAPP应用 · Struts学习笔记: Html标签库学习(Html基本标签) · struts 学习笔记(一)--搭建环境 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |