快速业务通道

struts2笔记 - helloworld - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
public void setName(String name){      this.name= name;    }    public String getName() {      return name;    } }配置struts.xml关联jsp和action

<!DOCTYPE struts PUBLIC  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts>    <package name="tutorial" extends="struts-default">      <action name="HelloWorld" class="tutorial.HelloWorld">        <result>/HelloWorld.jsp</result>      </action>    </package> </struts>

struts2笔记 - helloworld(3)

时间:2011-01-30 blogjava Gay Bird

工作原理

当浏览器发送请求 http://localhost:8080/tutorial/HelloWorld.action 的时候,在服务器上发生了如下事件:

服务器接收到对HelloWorld.action的请求,根据web.xml文件中的配置,所有以.action结尾的请求都会被 org.apache.struts2.dispatcher.FilterDispatcher过滤,所以这个请求被发送给 FilterDispatcher,FilterDispatcher是Struts 2 框架的入口点。

Struts 2 框架查找HelloWorld.action对应的Java 类,发现是HelloWorld.java,之后Struts 2 框架实例化了一个HelloWorld类,并且调用了这个类的execute方法。

execute方法设置了message的内容,并且返回SUCCESS。框架却定返回值SUCCESS,并且找到对应的内容HelloWorld.jsp,并且通知服务器将HelloWorld.jsp作为返回内容。

在HelloWorld.jsp被处理的过程中,<s:property value="message" />标签的内容被替换为HelloWorld 的getMessage方法调用的结果

根据HelloWorld.jsp内容生成的HTML内容被发回到请求的浏览器。

结果类型(Result Type)

Action 处理完成之后,会选择一个结果返回给客户,这个结果可能是简单的HTML页面,JSP页面,FreeMarker模板,Velocity模板,或者是一个 PDF文旦个或者是更复杂的JasperReports。一个Action可能有几个可选的结果类型,为了决定到底使用那个结果类型,Action类的 execute方法必须返回一个标记结果类型的字符串。

struts.xml <action name="Logon" class="tutorial.Logon">   <result type="redirect-action">Menu</result>   <result name="input">/tutorial/Logon.jsp</result> </action>

如果我们输入了用户名和密码,Logon Action会返回“success”。"success"是默认的返回结果,这个时候会使用Menu action作为结果。

如果我们什么也不输入,Logon Action 会返回"input", Struts 2会使用Logon.jsp 作为结果返回

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号