zoukankan      html  css  js  c++  java
  • struts配置通配符*来匹配方法,实现动态调用

    01:web.xml中配置,启动struts2

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
        xmlns="http://java.sun.com/xml/ns/j2ee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        
        <!-- 01:启动struts2框架 -->
        <filter>
            <filter-name>struts2</filter-name>
            <filter-class>
                org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
            </filter-class>
        </filter>
    
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
        
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

    02:编写action类

    package com.self.action;
    /**
     * 02:写相应的处理方法
     */
    public class HelloWorldAction {
        
        private String message;
    
        public String helloworld_1(){
            this.message="helloworld_1";
            return "helloworld_1";
        }
        public String helloworld_2(){
            this.message="helloworld_2";
            return "helloworld_2";
        }
        
        //为属性注入值,需要提供set方法
        public void setMessage(String message) {
            this.message = message;
        }
        //在页面显示值,需要get方法
        public String getMessage() {
            return message;
        }
    
    }

    03:配置struts.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    <struts>
    	<!-- 01:将.action访问,改为.do和.action -->
    	<constant name="struts.action.extension" value="do,action" />
    	<!-- 02:指定默认编码,相当于HttpServletRequest的setCharacterEncoding方法,也作用于freemarker、velocity的输出 -->
    	<constant name="struts.i18n.encoding" value="UTF-8" />
    	
    	<include file="department.xml"/>
    </struts>
    

      

    04:编写引入的department.xml

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
    
    <struts>
    	<package name="dep" namespace="/department" extends="struts-default">
    		<!-- 用通配符*来指代方法名,{1}代表第一个通配符所代表的字段:这里代表方法 -->
    		<action name="helloworld_*" class="com.self.action.HelloWorldAction" method="{1}" >
    			<result name="helloworld_1">
    				/helloworld_1.jsp
    			</result>
    			<result name="helloworld_2">
    				/helloworld_2.jsp
    			</result>
    		</action>
    	</package>
    </struts>
    

      

    05:编写界面1

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <html>
    <head>
    
    <title>显示</title>
    </head>
    
    <!-- 第4步:显示 -->
    <body>
    	<BR>
    	<BR>
    	<center>
    		将页面放在WEB-INF下面,这样用户直接访问不到<BR> <BR> 为action的属性注入值: ${message}
    		<BR>
    	</center>
    </body>
    </html>
    

      

    06:编写界面2

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <html>
    <head>
    
    <title>显示</title>
    </head>
    
    <!-- 第4步:显示 -->
    <body>
    	<BR>
    	<BR>
    	<center>
    		将页面放在WEB-INF下面,这样用户直接访问不到<BR> <BR> 为action的属性注入值: ${message}
    		<BR>
    	</center>
    </body>
    </html>
    

      

    07:访问路径1、2

    http://localhost:8080/Struts2_01/department/helloworld_helloworld_1.action

    http://localhost:8080/Struts2_01/department/helloworld_helloworld_2.action

     

  • 相关阅读:
    七号信令中TUP协议的主要消息和故障问题
    VOIP语音编码带宽计算
    TCPDUMP 使用详情
    chan_ss7 呼出的时候指定使用某个CICs,或者CICs范围 的方法
    MySpace架构演进
    数据库已死
    libSVM 与 mahout 初比较
    CAP定理、ACID模型、BASE模型
    中国发现量子反常霍尔效应 超级计算机变平板成可能
    IBM开放超级计算机Watson API 开发者可编写应用
  • 原文地址:https://www.cnblogs.com/zjsy/p/4205845.html
Copyright © 2011-2022 走看看