??xml version="1.0" encoding="utf-8" standalone="yes"?>91精品国模一区二区三区,国产大学生校花援交在线播放,www.欧美色图 http://www.aygfsteel.com/blovesaga/category/11875.html在希腊帕?dng)纳斯山南坡?有一个驰名世界的戴尔波伊托所,在它的入口处的巨石上赫然锈刻着q样几个大字: 认识你自? zh-cn Tue, 27 Feb 2007 12:33:41 GMT Tue, 27 Feb 2007 12:33:41 GMT 60 Strutsl节谈 http://www.aygfsteel.com/blovesaga/articles/55088.htmlblovesaga blovesaga Mon, 26 Jun 2006 03:01:00 GMT http://www.aygfsteel.com/blovesaga/articles/55088.html http://www.aygfsteel.com/blovesaga/comments/55088.html http://www.aygfsteel.com/blovesaga/articles/55088.html#Feedback 0 http://www.aygfsteel.com/blovesaga/comments/commentRss/55088.html http://www.aygfsteel.com/blovesaga/services/trackbacks/55088.html 动作映射
q个时候,你可能会(x)问自?“当控制器接受到一个请求的时候,它如何知道调用哪个Action实例?”控制器要通过查看h消息q用一l动作映?action mapping)来做出决定。动作映是Struts配置信息(配置一个特D的XML文g中)(j)的一部分。这个配|信息会(x)在启动时加蝲到内存中Q让Struts框架得以在运行时加以利用。每个action元素在内存中都被表示为org.apache.struts.action.ActionMappingcȝ实例。ActionMapping对象包含一个path属性,用来与外部请求的URI部分匚w。如? <action path="/login" type="com.oreilly.struts.banking.action.LoginAction" scope="request" name="loginForm" validate="true" input="/login.jsp" <forward name="Success" path="/action/getaccountinformation" redirect="true"/> <forward name="Failure" path="/login.jsp" redirect="true"/> </action> q里的登录动作映把路径"/login"映射C(jin)com.oreilly.struts.banking.LoginActionq个ActioncR无ZӞ当控制器接受C个URI路径中包?/login"字符串的hӞ׃(x)调用LoginAction实例的execute()Ҏ(gu)。Struts框架q会(x)使用映射来指出“动?完成后要让用戯{向哪个资源?/p>
使用Struts ActionForm
Struts框架的ActionForm对象可用来在用户和业务层之间传输客户的输入数据。Struts框架?x)自动从h中收集输入数据,再将q些数据交给一个用表单bean(form bean)的Action对象Q接着表单再交l业务层。ؓ(f)?jin)把表示层和业务层分d来,你不应该直接把ActionForm对象交给业务层,而是应该使用由ActionForm对象得到的数据创建适当的DTO。下面的步骤说明?jin)Struts框架如何处理每个h相应的ActionForm对象: 1.(g)查该动作的相应讄Q查看是否已l有某个ActionForm得到配置?br /> 2.如果对应q个动作配置?jin)某个ActionFormQ则使用action元素中的name属性来查找表单bean的配|信息?br /> 3.查看是否已经创徏?jin)一个ActionForm的一个实例?br /> 4.如果在适当的作用域内已l存在一个ActionForm实例Q而且q个实例的类型正是这个请求所需要的cdQ则重用q个实例?br /> 5.否则Q创建所需ActionForm的一个新实例Qƈ存储在适当的作用域中(由action元素的scope属性设|??br /> 6.调用ActionForm实例的reset()Ҏ(gu)?br /> 7.反复处理h参数Q如果参数名在ActionForm实例中具有对应的讄Ҏ(gu)(setter method),׃ؓ(f)它填上该h参数的倹{?br /> 8.最后,如果validate属性的D|ؓ(f)true,则调用ActionForm实例的validate()Ҏ(gu)Qƈq回所出现的Q何误?br /> 对Q何HTML面而言Q如果表单数据是以POSTҎ(gu)传输的,应该用ActionForm。必要时Q相同的ActionForm可以同时l多个页面用,只要HTML字段能和ActionForm对象的属?property)匚w可以了(jin)?br />Struts框架所提供的ActionFormcdC(jin)多个Ҏ(gu)Q但到目前ؓ(f)止,最重要的两个方法就是reset()和validate(): public void reset(ActionMapping mapping,HttpServletRequest request); public ActionErrors validate(ActionMapping mapping,HttpServletRequest request); 在Struts ActionFormcMQ这两个Ҏ(gu)的默认实现是不完成Q何的逻辑。你必须在自qActionFormcM覆盖q两个方法。控制器以请求中的值来填写ActionForm实例之前Q会(x)先调用reset()Ҏ(gu)。reset()Ҏ(gu)l了(jin)ActionForm一个机?x),可将其属性设|ؓ(f)原来默认的状态。这一炚w帔R要,因ؓ(f)表单bean实例可能?x)由多个h׃n或者由好几个不同的U程所存取。不q,如果你是让好几页׃n一个ActionForm实例Q可?br />不会(x)Ld现reset()Ҏ(gu)Q这样一来只要这个实例还在,属性的值就不会(x)被重新设|。另一U做法就是实C自己的resetFields()Ҏ(gu)Q在成功更新业务之后Q就从这个ActioncL调用此方法。当h中所携带的值已l插入到ActionFrom实例之后Q控制器回调用validate()Ҏ(gu)。ActionForm应该对输入数据完成必要的验证工作Q然后向控制器返回所(g)到的Q何错误。业务逻辑验证应该在业务对象中而不是在ActionForm中来完成。在ActionForm中所q行的验证工作,只是表示的验证而已。一旦写好ActionFormcdQ你必须通知Struts应用E序有这些ActionForm存在Q告诉Struts应用E序哪个动作映射应该使用哪个ActionForm。这是在配置文g中设|的。第一步是Z的应用程序在配置文g中的form-beansD里配置所有的ActionForm。看下面的一个例? <form-beans> <form-bean name="loginForm" type="com.oreilly.struts.banking.form.LoginForm"/> <form-bean name="accountInformationForm" type="org.apache.struts.action.DynaActionForm"> <form-property name="accounts" type="java.util.ArrayList"/> </form-bean> </form-beans> 每个表单bean的name属性必都是独一无二的,而且其type属性必d义一个Javac(扩展?jin)Struts ActionFormc)(j)的完全限定名。下一步是在一个或多个action元素中用在form-benasD里的某个form-bean名。如下:(x) <action path="/login" type='com.oreilly.struts.banking.action.LoginAction" scope="request" name="loginForm" validate="true" input="/login.jsp"> <forward name="Success" path="/action/getaccountinformation" redirect="ture> <forward name="Failure" path="/login.jsp" redirect="true"/> </action> 注意Q登录动作映的name正好和前面form-beansD里某个name属性相匚w?/p>
]]>Java Web FrameworklD http://www.aygfsteel.com/blovesaga/articles/53564.htmlblovesaga blovesaga Sun, 18 Jun 2006 02:37:00 GMT http://www.aygfsteel.com/blovesaga/articles/53564.html http://www.aygfsteel.com/blovesaga/comments/53564.html http://www.aygfsteel.com/blovesaga/articles/53564.html#Feedback 0 http://www.aygfsteel.com/blovesaga/comments/commentRss/53564.html http://www.aygfsteel.com/blovesaga/services/trackbacks/53564.html 阅读全文 ]]> Struts入门学习(fn)?-配置 http://www.aygfsteel.com/blovesaga/articles/50396.htmlblovesaga blovesaga Sun, 04 Jun 2006 22:02:00 GMT http://www.aygfsteel.com/blovesaga/articles/50396.html http://www.aygfsteel.com/blovesaga/comments/50396.html http://www.aygfsteel.com/blovesaga/articles/50396.html#Feedback 0 http://www.aygfsteel.com/blovesaga/comments/commentRss/50396.html http://www.aygfsteel.com/blovesaga/services/trackbacks/50396.html 作ؓ(f)一个程序员你必d?jin)解STRUTS,在之前配|是一个问题,万丈高楼从地?基础是保?所以我们先得让它RUNhQ然后再谈驾御它^_^! 配置Struts,必须要以下的环境和工? . JDK(Java Development Kit) 可以?http://java.sun.com/j2se 下蝲最新版?br /> . Servlet容器 q个容器必须支持Servlet规范2.2版或后箋的版?已经JavaServer Pages规范1.1或者更?br /> . XML解析?br /> 支持JAXP 1.1版或者后l版.Xerces解析器正好符合此要求,可以?http://xml.apache.org/xerces-j 下蝲 . Xalan XSLT处理?br /> 1.2 版或者后l版?注意,2.0 版存在一些问?q个处理器可以把XML文g转换成HTML文档.q个处理器包含Xerces解析? 可以?http://xml.apache.org/xalan-j/index.html 下蝲Xalan . . JDBC 2.0以上的package . 具体的配|过E? 1. 新徏一个WEB应用,如在Tomcat\webapps目录下新建立一?Dalston目录. 2. Struts中的 lib/commons-*.jar ?lib/struts.jar 文gcopy到应用中的Dalston\WEB-INF\lib目录?然后Struts中全部的标签库描q文?br /> (lib/struts-*.tld) copy到Dalston\WEB-INF\tld目录?. 3. 在Dalston\WEB-INF下新建立一个web.xml文g,在文件加入以下的内容: ------------------------------------------------------------------------- web.xml <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd"> <web-app> <display-name>Struts Blank Application</display-name> <!-- Standard Action Servlet Configuration (with debugging) --> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>application</param-name> <param-value>ApplicationResources</param-value> </init-param> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>2</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>2</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- Standard Action Servlet Mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <!-- The Usual Welcome File List --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- Struts Tag Library Descriptors --> <taglib> <taglib-uri>/struts-bean</taglib-uri> <taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/struts-html</taglib-uri> <taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/struts-logic</taglib-uri> <taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location> </taglib> <taglib> <taglib-uri>/struts-nested</taglib-uri> <taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location> </taglib> <taglib> <taglib-uri>/struts-tiles</taglib-uri> <taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location> </taglib> <taglib> <taglib-uri>/struts-template</taglib-uri> <taglib-location>/WEB-INF/tld/struts-template.tld</taglib-location> </taglib> <taglib> <taglib-uri>/jstl/c</taglib-uri> <taglib-location>/WEB-INF/tld/c.tld</taglib-location> </taglib> </web-app> ================================================================================================= 4. 修改完web.xml?在WEB-INF目录中新Z个struts-config.xml文g.struts-config.xml内容如下: struts-config.xml <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config> <form-beans> </form-beans> <global-forwards> </global-forwards> <action-mapping> </action-mapping> </struts-config> ====================================================================================================== 做完以上的工?我们可以测试一下配|是否正了(jin). 在WEB-INF 目录下徏立一个ApplicationResource.properties 文g,增加一个属? index.title=Struts Tutorial 我们写一个测试JSP文g---test.jsp,它的代码如下: test.jsp <%@ page contentType="text/html;charset=gb2312"%> <%@ taglib uri="/struts-logic" prefix="logic" %> <%@ taglib uri="/struts-bean" prefix="bean" %> <%@ taglib uri="/struts-html" prefix="html" %> <html:html locale="true"> <head> <html:base/> <title> <bean:message key="index.title"/> </title> </head> <body> 试我刚配置的Struts! </body> </html:html> 重新启动WEB服务?在浏览器里输入测试文件所在地址: http://127.0.0.1:8080/Dalston/test.jsp 如果配置正确那么在IE里就?x)输? 试我刚配置的Struts! 如果q样Q那么你成功?jin),你就可以l箋高阶修炼?^_^ ]]>
վ֩ģ壺
Ҫ |
ϸ |
|
¬ |
ľ˹ |
ʡ |
|
|
н |
|
|
ǰ |
ຣʡ |
üɽ |
|
ؼ |
ұ |
Զ |
İ |
|
ݸ |
|
|
|
ɽ |
˳ |
˳ |
˺ |
|
Դ |
ϴ |
찲 |
|
|
|
Ǩ |
|
Ļ |
ɽ |
|
|