• Struts2 一、 视图转发跳转


    <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
  • 相关阅读:
    CTFHub-Web-Web前置技能-HTTP协议-响应包源代码详解
    BurpSuite环境安装及设置
    i2 Analyst’s Notebook 9学习笔记之入门、基本概念和数据接口
    Python 练习题:用索引取出LIST中的值
    python 练习题:小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点
    zabbix4.0 本地安装详解及步骤
    CentOS 7 安装 mysql 5.7.27 for zabbix
    win7系统 右击任务栏 资源管理器 弹出菜单“已固定”和“最近”项目不显示故障处理
    CentOS 7 新系统 手动配置网络 简要步骤
    CentOS7 firewalld防火墙 启动 关闭 禁用 添加删除规则等 常用命令
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5114803.html
Copyright © 2020-2023  润新知