struts2:通配符的使用
2016-04-25 09:15
489 查看
介绍
学习了一下struts2的通配符的使用,因为之前的项目中由于数量巨大的action文件导致struts.xml文件特别庞大,所以我个人感觉struts2的通配符的优点:
精简struts.xml配置文件(尤其action特别多的情况下)
使项目的V层更规范化统一化(比如action文件和jsp文件的命名都得可以自行规范统一)
缺点:
struts.xml文件阅读不那么直观。
使用
先看一下我是怎么用的: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> <include file="struts-default.xml" /> <package name="default" extends="struts-default"> <action name="*_*" class="com.ssmtest.action.UserAction" method="{2}"> <result name="success">/{1}/{2}_success.jsp</result> </action> </package> </struts>
com.ssmtest.action.UserAction文件
package com.ssmtest.action; import com.opensymphony.xwork2.ActionSupport; import com.ssmtest.bean.User; import com.ssmtest.service.IUserService; public class UserAction extends ActionSupport{ /** * */ private static final long serialVersionUID = 1L; private User newUser; private IUserService userService; public String add() throws Exception{ userService.addUser(newUser); return SUCCESS; } public User getNewUser() { return newUser; } public void setNewUser(User newUser) { this.newUser = newUser; } public IUserService getUserService() { return userService; } public void setUserService(IUserService userService) { this.userService = userService; } }
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE html> <html> <head> <base href="<%=basePath%>"> <title>注册</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="./css/style.css"> </head> <body> <form action="user_add" method="post"> <label>注册用户:</label><br/> <label>用户名:</label> <input type="text" name="newUser.userName"><br/> <label>密码:</label> <input type="password" name="newUser.password"><br/> <input type="submit" value="注册"> <input type="reset" value="重置" > </form> </body> </html>
注册成功返回的页面名称为:add_success.jsp
原理说明:
1.在index.jsp页面点击提交后,执行form的action,name为:user_add。2.struts.xml匹配action:
<action name="*_*" class="com.ssmtest.action.UserAction" method="{2}"> <result name="success">/{1}/{2}_success.jsp</result> </action>
由此得第一个星号为user,第二个星号为add,method后的数字2代表第二个星号add,也就是执行UserAction类中的add方法,结果返回页面的数字与星号匹配后结果为“/user/add_success.jsp”,即为webroot目录的user文件夹下的add_success.jsp页面。
OK~MISSION SUCCESS
SO EASY SO CONVENIENT
相关文章推荐
- java基础算法学习之概率算法
- java集合框架10——TreeMap和源码分析(一)
- 为什么在Spring的配置里,最好不要配置xsd文件的版本号
- Java遍历集合方法分析(实现原理、算法性能、适用场合)
- Java学习-15天
- Java学习-14天
- 从追MM谈Java的23种设计模式(转
- 深入分析 Java 中的中文编码问题
- Java开发中的23种设计模式详解(转)
- 【毕业生推荐系统】(3) 实现效果-完成80%
- java中静态代码块的用法 static用法详解
- Java中List集合的遍历
- 深入理解java异常处理机制
- JAVA代码编写的30条建议
- JAVAABC-java中的常见小问题
- 多线程 《深入浅出 Java Concurrency》目录
- Spring AOP 实现机制
- 在Spring3中,配置DataSource的方法有6种
- Spring配置文件p:driverClass等元素错误
- Spring连接数据库的几种常用的方式