码迷,mamicode.com
首页 > 其他好文 > 详细

struts配置通配符*来匹配方法,实现动态调用

时间:2015-01-06 15:05:06      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

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

 

struts配置通配符*来匹配方法,实现动态调用

标签:

原文地址:http://www.cnblogs.com/zjsy/p/4205845.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!