Struts2 一、 视图转发跳转

来源:互联网 发布:yum y什么意思 编辑:程序博客网 时间:2024/06/12 19:17

<struts><constant name="struts.118n.encoding" value="UTF-8"></constant><constant name="struts.action.extension" value="do"></constant><constant name="struts.serve.static.browserCache" value="false"></constant><constant name="struts.devMode" value="false"></constant><constant name="struts.ui.theme" value="simple"></constant>

1、正常跳转

<pre name="code" class="html"><package name="demo" namespace="/demo"  extends="struts-default"><action name="action_*" class="cn.actions.DemoAction" method="{1}"><result name="hello">/WEB-INF/pages/message.jsp</result></action></package>


public class DemoAction {private String message;public String toHello() {this.message = "hello world!";return "hello";}public String getMessage() {return message;}}


访问地址: http://localhost:9000/demo/action_toHello.do

2、默认值跳转


<action name="addUser"><result>/WEB-INF/pages/addUser.jsp</result></action>

访问地址:http://localhost:9000/demo/addUser.do


3、重定向跳转

<pre name="code" class="html"><!--  重定向连接 --><action name="redirect"><result type="redirect">/addPerson.jsp</result></action>
访问地址:http://localhost:9000/demo/redirect.do

4、带参的重定向跳转

<!--  重定向连接   带参数--><action name="addPeron" class="cn.actions.PersonAction" method="edit"><result type="redirect">/addPerson.jsp?username=${username}</result></action>


public class PersonAction {private String username;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String edit() throws UnsupportedEncodingException{this.username=URLEncoder.encode("汤姆","UTF-8");return "success";}}


 <body>  <h2>用户名:<%= URLDecoder.decode(new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8")) %></h2>  </body>


访问地址:http://localhost:9000/demo/addPeron.do?method=edit


5、重定向Action

<!--  重定向Action --><action name="redirectAction"><result type="redirectAction">addPeron</result></action>
<action name="addPeron" class="cn.actions.PersonAction" method="edit"><result type="redirect">/addPerson.jsp?username=${username}</result></action>


访问地址:http://localhost:9000/demo/redirectAction.do


6、重定向其他包的Action

<package name="demo" namespace="/demo"  extends="struts-default"><!-- 重定向其他包的Action --><action name="redirectOtherAction" ><result type="redirectAction"><param name="actionName">hello</param><param name="namespace">/other</param></result></action></package><package name="other" namespace="/other" extends="base"><action name="hello"><result>/WEB-INF/pages/hello.jsp</result></action></package>
访问地址:http://localhost:9000/demo/redirectOtherAction.do

7、显示源代码(不执行代码)

<!-- 显示源代码Action(UTF-8编码) --><action name="plainText"><result type="plainText"><param name="location">/index.jsp</param><param name="charSet">UTF-8</param></result></action>

访问地址:http://localhost:9000/demo/plainText.do


8、包内共享视图

<package name="demo" namespace="/demo"  extends="struts-default"><!-- 包内共用视图 --><global-results><result name="message">/WEB-INF/pages/message.jsp</result></global-results><action name="person_*" class="cn.actions.PersonAction" method="{1}"></action></package>

public class PersonAction {public String save(){return "message";}}

访问地址:http://localhost:9000/demo/person_save.do


9、包外共享视图

Ohter 包继承了 base包 所以可以共享Base包的共享视图

<package name="base" extends="struts-default"><!-- 包内外共享视图 --><global-results><result name="message">/WEB-INF/pages/message.jsp</result></global-results></package><package name="other" namespace="/other" extends="base"><action name="person_*" class="cn.actions.PersonAction" method="{1}"></action></package>


public class PersonAction {public String save(){return "message";}}

访问地址:http://localhost:9000/other/person_save.do
0 0
原创粉丝点击