Struts2 ActionWildcard(通配符配置)约定优于配置

1.新建web Project:Struts2_ActionWildcard
2.新建以下的文件:
项目图:
  src:

    StudentAction.java

    TeacherAction.java

    struts.xml

  WebRoot:

    index.jsp

    Studentadd_success.jsp

    Studentdelete_success.jsp

    Teacher_add_success.jsp

    Teacher_delete_success.jsp

3.以下为项目中各文件的代码:

(1)struts.xml

  代码:

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC
 3     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
 4     "http://struts.apache.org/dtds/struts-2.0.dtd">
 5
 6 <struts>
 7     <constant name="struts.devMode" value="true" />
 8     <package name="actions" extends="struts-default" namespace="/actions">
 9         <action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}">
10             <result>/Student{1}_success.jsp</result>
11         </action>
12
13         <action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}">
14             <result>/{1}_{2}_success.jsp</result>
15             <!-- {0}_success.jsp -->
16         </action>
17     </package>
18 </struts>

struts.xml

(2)StudentAction.java

  代码:

 1 package com.bjsxt.struts2.action;
 2
 3 import com.opensymphony.xwork2.ActionSupport;
 4
 5 public class StudentAction extends ActionSupport {
 6     public String add() {
 7         return SUCCESS;
 8     }
 9     public String delete() {
10         return SUCCESS;
11     }
12
13 }

StudentAction

------------------------------------------------------------------------------------

------------------------------------------------------------------------------------

(3)TeacherAction.java

  代码:

 1 package com.bjsxt.struts2.action;
 2
 3 import com.opensymphony.xwork2.ActionSupport;
 4
 5 public class TeacherAction extends ActionSupport {
 6     public String add() {
 7         return SUCCESS;
 8     }
 9
10     public String delete() {
11         return SUCCESS;
12     }
13
14
15 }

TeacherAction

------------------------------------------------------------------------------------

------------------------------------------------------------------------------------

(4) index.jsp

  代码:

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

<% String context = request.getContextPath(); %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>

<body>
使用通配符,将配置量降到最低<br />
<a href="<%=context %>/actions/Studentadd">添加学生</a>
<a href="<%=context %>/actions/Studentdelete">删除学生</a>
<br />
不过,一定要遵守"约定优于配置"的原则
<br />
<a href="<%=context %>/actions/Teacher_add">添加老师</a>
<a href="<%=context %>/actions/Teacher_delete">删除老师</a>

</body>
</html>

------------------------------------------------------------------------------------

------------------------------------------------------------------------------------

(5)Studentadd_success.jsp

  代码:

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
</head>
<body>
Student Add Success!
</body>
</html>

Studentadd_success.jsp页面案例所示,

 在Studentdelete_success.jsp页面中输出Student Delete Success!

Teacher_add_success.jsp页面中输出Teacher Add Success!

Teacher_delete_success.jsp页面中输出Teacher Delete Success!

                    

时间: 2024-11-16 00:32:01

Struts2 ActionWildcard(通配符配置)约定优于配置的相关文章

SpringMVC介绍之约定优于配置

转自:http://haohaoxuexi.iteye.com/blog/1774603 所谓的约定优于配置就是指在程序开发过程中我们约定好一些规则可以使我们更少的进行配置和代码编写.就这么简单的一句话可能你还不是很懂什么是约定优于配置,没关系,看完后面对SpringMVC的约定优于配置的介绍之后你就会明白了. SpringMVC对约定优于配置的支持主要表现在三个方面,Model.View和Controller. Model:SpringMVC对Model的约定优于配置的支持是基于ModelMa

Maven之(八)约定优于配置

maven的配置文件看似很复杂,其实只需要根据项目的实际背景,设置个别的几个配置项而已.maven有自己的一套默认配置,使用者除非必要,并不需要去修改那些约定内容.这就是所谓的"约定优于配置". 文件目录 maven默认的文件存放结构如下: 每一个阶段的任务都知道怎么正确完成自己的工作,比如compile任务就知道从src/main/Java下编译所有的java文件,并把它的输出class文件存放到target/classes中. 对maven来说,采用"约定优于配置&quo

“约定优于配置”与Magento改造尝试四之block、helper和model载入

暂定本章为这个系列最后一章,还是继续沿用模块的别名(alias)概念 <modules> <Mage_Wishlist> <version>1.6.0.0</version> <alias>wishlist</alias> </Mage_Wishlist> </modules> 看下Magento通常是怎么定义block.helper和model的别名的 <blocks> <wishlist&

Struts2之通配符映射(降低配置量)

通过在配置文件中使用*取代具体的字符下面举例说明 1 StudentAction和TeacherAction package org.action; public class StudentAction { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this

Spring 4 官方文档学习(十一)Web MVC 框架之约定优于配置

当返回一个ModelAndView时,可以使用其addObject(Object obj)方法,此时的约定是: An x.y.User instance added will have the name user generated. An x.y.Registration instance added will have the name registration generated. An x.y.Foo instance added will have the name foo gener

#001 约定大于配置

什么叫做约定大于配置? 约定优于配置是一个简单的概念. 系统,类库,框架应该假定合理的默认值,而非要求提供不必要的配置. 在大部分情况下,你会发现使用框架提供的默认值会让你的项目运行的更快. 零配置并不是完全没有配置,而是通过约定来减少配置, 减少 XML 开发一个组件,最好提供一些默认值,也就是所谓的约定,如果需要不同的就使用 配置 ,来具体配置组件的内容. 来自为知笔记(Wiz)

Struts2中通配符的使用

1.准备工作 新建一个JavaWeb项目HelloWord,导入Struts2的.jar包,在Web.xml下配置Struts2的监听,在src下添加Struts2的配置文件struts.xml:将该项目部署到服务器(Tomcat)上,运行检查项目是否部署成功和其他错误!确定一切都正常后,接下来开始编写代码! 2.第一种配置方式 新建一包:com.cqxs.action 新建一个Action类:UserAction,代码如下: public class UserAction extends Ac

Struts2的通配符配置方式

Struts2的Action类很有意思,你可以使用3种方式来实现具体的Action类: 让你的Action类继承自ActionSupport类(项目中最常用这种方式,因为ActionSupport类中定义了很多帮助方法) 让你的Action类实现Action接口 使用POJO的方式来实现,只要Action类中有一个返回值为String的execute方法就好了(这种方式使Action类最容易被测试) 以上三种Action的实现方式都可以被struts2框架自动识别,如果你在struts.xml里

【SSH三大框架】Struts2基础第三篇:配置Action以及调用Action的三种方式

一.struts.xml中的包和命名空间 1.Struts2不支持为单独的Action设置命名空间,而是通过为包指定namespace属性来为包下面的所有Action指定共同的命名空间. 如果在配置<package>的时候没有指定namespace属性,则该包下的所有Action处于默认的包空间下 2.例如: <package name="lee" extends="struts-default"> <action name="