首页 > 代码库 > struts配置通配符*来匹配方法,实现动态调用
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="http://www.mamicode.com/do,action" /> <!-- 02:指定默认编码,相当于HttpServletRequest的setCharacterEncoding方法,也作用于freemarker、velocity的输出 --> <constant name="struts.i18n.encoding" value="http://www.mamicode.com/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配置通配符*来匹配方法,实现动态调用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。