struts2配置中用什么元素配置常量_关系运算符有哪些

struts2配置中用什么元素配置常量_关系运算符有哪些struts2的配置文件是struts.xml..在这个配置文件里面可以使用通配符..其中的好处就是,大大减少了配置文件的内容..当然,相应付出的代价是可读性..使用通配符的原则是约定高于配置.在项目中,我们有很多的命

struts2配置中用什么元素配置常量_关系运算符有哪些"

struts2的配置文件是 struts.xml.. 在这个配置文件里面可以使用通配符..其中的好处就是,大大减少了配置文件的内容..当然,相应付出的代价是可读性..

使用通配符的原则是 约定高于配置.

在项目中,我们有很多的命名规则是约定的…我们使用通配符那就必须有一个统一的约定.否则通配符将无法成立

看下面的例子.

(1)先看我们的action配置

1 <package name="user" extends="struts-default" namespace="/">
2   <action name="user_*" class="com.test.action.UserAction" method="{1}">
3    <result>/user_{1}.jsp</result>
4   </action>
5  </package>

第一个带”*” 表示的是 后面匹配任意字符…这个很容易理解

{1}表示的是第一个”*”的内容…注意,这里的大括号,比如,如果是user_add .那么{1}就是表示 add ..

当然,这里只有一个”*”.你可以有两个,甚至三个四个..比如这样写 *_* 这样就是两个”*” .那么我们也可以用{1},{2}来分别的表示他们.

(2) 对应的action 内容

 1 package com.test.action;
 2 import com.opensymphony.xwork2.ActionSupport;
 3 @SuppressWarnings("serial")
 4 public class UserAction extends ActionSupport
 5 {
 6  public String add()
 7  {
 8   return SUCCESS;
 9  }
10  public String delete()
11  {
12   return SUCCESS;
13  }
14  public String update()
15  {
16   return SUCCESS;
17  }
18  public String select()
19  {
20   return SUCCESS;
21  }
22 }

因为是举例子,所以每个方法里面都没实现内容.

(3) 其他就是几个jsp页面.

其中 user_*.jsp页面没什么好说的,就是显示一句话.比如user_add.jsp就是显示 “这是添加页面” 其他的类似.就是为了让我们看到已经跳转到对应的页面.

index.jsp写一下

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 <a href="user_add.action">添加页面</a><br>
 <a href="user_delete.action">删除页面</a><br>
 <a href="user_update.action">修改页面</a><br>
 <a href="user_select.action">查找页面</a><br>
</body>
</html>

 

总结一下,

大家可以看到,配置文件里面,只有三句话就将增删改查四个操作全部配置好了….这就是通配符的作用.但是,我们也可以看到,对应的命名规则的约定也非常的苛刻…

最后需要注意的一点是匹配的优先权

 (1)如果struts.xml里面有对应的action name .就算它有其他通配符匹配的,都优先对应完全相同的.

比如 有一个 action name 是 “user_add”  还有一个是 “user_*” .现在,来一个请求是 “user_add.action ” .那么,它会优先匹配”user_add ” ..其实,这个很好理解..

(2)如果一个action name对应于两个带通配符的action name 那么,需要看这个配置谁在前面.它匹配写在前面的

比如 有一个 action name 是 “*_*”  还有一个是 “user_*” .现在,来一个请求是 “user_add.action ” .那么,它会优先匹配写在前面的…

任何带”*”的action name 优先权都是一样的…不是说带一个”*”的优先权就比带两个”*” 的高.

 

引自:http://jingbo2759.blog.163.com/blog/static/9837531520099109488860/

转载于:https://www.cnblogs.com/smile-dream/p/6108551.html

今天的文章struts2配置中用什么元素配置常量_关系运算符有哪些分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/69791.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注