当前位置: 首页 > news >正文

曲靖网站制作公司2345网止导航

曲靖网站制作公司,2345网止导航,四川省住房和城乡建设厅网站官网,商城版免费网站制作1.在我的一篇文章中,介绍了Struts2中Action的动态调用方法:http://blog.csdn.net/u012561176/article/details/44347429 但是那样子还不是最简单的,最简单的是使用通配符,将配置量降到最低,但…

1.在我的一篇文章中,介绍了Struts2中Action的动态调用方法:http://blog.csdn.net/u012561176/article/details/44347429 

但是那样子还不是最简单的,最简单的是使用通配符,将配置量降到最低,但是这个也比较难已理解,在使用通配符时,一定要遵守“约定优于配置”的原则。


2.接下来介绍一下通配符,使用星号(*)表示所有,{数字}表示第几个通配符,例如: *Action,那么{1}就表示第一个星号(*),如果是 *_* 的话,那么{1}就代表第一个星号(*),那么{2}就代表第二个星号(*)。


3.接下来附上一个小实例,首先新建一个struts2项目ActionTest3,搭建好环境之后,在src目录下新建一个UserAction类,放在com.gk.user包下,UserAction.java文件代码如下:

package com.gk.user;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport {public String add(){return "success";}public String delete(){return "success";}public String update(){return "success";}public String find(){return "success";}}


然后我们打开WebRoot目录下的index.jsp页面,把编码方式设置成utf-8,然后使用通配符,将配置降到最低,具体代码如下:

<%@ page language="java" import="java.util.*" 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">
<html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><a href="User_add">添加用户</a><br><a href="User_delete">删除用户</a><br><a href="User_update">修改用户</a><br><a href="User_find">查询用户</a><br></body>
</html>

接下来我们就可以配置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><constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
<constant name="struts.devMode" value="true"></constant><package name="user" namespace="/" extends="struts-default"><action name="*_*" class="com.gk.user.{1}Action" method="{2}"><result name="success">/{1}_{2}.jsp</result></action></package>
</struts>


struts.xml文件配置中,action中的name属性设置为 *_* ,其中{1}就代表第一个星号,{2}就代表第二个星号。然后class属性设置为com.gk.user.{1}Action,在index.jsp文件下我们使用通配符,将配置降到最低,如User_add,所以这个class属性应该是为com.gk.user.UserAction,然后{1}又代表第一个星号,所以第一个星号即为User。

然后method属性有为{2},{2}又代表第二个星号,其中index.jsp页面下我们使用通配符,如User_add等等,所以method属性可以指定为UserAction类里面的方法,有add(),delete(),update(),find()方法,所以第二个星号也代表UserAction类下的四个方法名。

后面的result属性,转发到/{1}_{2}.jsp页面,而这里我们就可以根据上面的分析理解为转发到的页面分别为User_add.jsp,User_delete.jsp,User_update.jsp,User_find.jsp。


所以我们便新建4个页面,分别为User_add.jsp,User_delete.jsp,User_update.jsp,User_find.jsp页面,编码方式改为utf-8,代码如下,比较简单,成功转发的话,就显示一句话:

User_add.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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'user_add.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body>添加用户成功</body>
</html>


User_delete.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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'user_del.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body>删除用户成功</body>
</html>


User_update代码如下:

<%@ page language="java" import="java.util.*" 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">
<html><head><base href="<%=basePath%>"><title>My JSP 'user_update.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body>修改成功</body>
</html>


User_find.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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'user_find.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body>查询成功</body>
</html>


然后我们部署这项目到Tomcat服务器上,开启Tomcat服务器,在地址栏下输入http://localhost:8083/ActionTest3/index.jsp ,效果如下:

点击添加用户出现下图:

看见上图跳转到我们使用配置符的action名字,点击删除用户就输出删除用户成功,就不一一展示了。


4.总结一下:上面我们的例子中 Action 的名称 name=”*_*” method=”{2}” class=”…action.{1}Action” 表示所有 Action中包含下划线(“_”) 都会执行这个 Action,例如:Teacher_add,那么会执行这个 Action, 并且 Action 对应的类为 TeacherAction,且执行 Action 中的 add 方法,返回结果页面为/Teacher_add_success.jsp,因为在这里的{1}表示 Teacher,{2}表示 add。


5.以上内容仅供大家学习参考,通配符的配置大家可以灵活应用,可以减少struts.xml配置文件的代码量,提高效率,写得不好,请见谅,如有错误,请指出,谢谢!



http://www.hkea.cn/news/162321/

相关文章:

  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告
  • 做网站时如何给文字做超链接全球疫情最新数据消息
  • 四川省住建厅官方网站3分钟搞定网站seo优化外链建设
  • 做网站阳泉巨量千川广告投放平台
  • 温岭哪里有做网站的如何自制网站
  • 知道创于 wordpress搜索引擎优化宝典
  • 乌兰县wap网站建设公司有效获客的六大渠道
  • 微信网站开发教程视频教程百度一下主页官网
  • 网站开发专业前景关键词挖掘排名
  • 网站开发属于什么职位类别seo查询站长工具
  • wordpress postmetaseoul national university
  • 商务网站的主要存在形式杭州百度快照优化公司
  • 个人备案网站做购物网站可以不班级优化大师免费下载电脑版
  • 贸易网站建设互联网广告代理加盟
  • 深圳网站建设网络公司河北关键词排名推广
  • 在工商网上怎么注册公司seo优化博客
  • 免费的小程序怎么赚钱历下区百度seo
  • 河北石家庄最新疫情最新消息优化防疫政策
  • 一站式做网站哪家强新闻小学生摘抄
  • 江西南昌网站建设公司哪家好谷歌google 官网下载
  • 公司网站用什么开发百度指数怎么用
  • 建站主机 wordpress济南网站万词优化
  • 哈尔滨app开发seo自学网官网
  • 网站答辩ppt怎么做全网关键词云在哪里看
  • 网站建设 视频seo关键词词库
  • 网站应用软件设计成都网站建设技术外包