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

响应式网站茶叶网站免费建站建站abc网站

响应式网站茶叶网站,免费建站建站abc网站,展示型网站与营销型网站区别,做赚钱的网站有哪些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.hengruixuexiao.com/news/27442.html

相关文章:

  • 泉州网站设计哪家公司好网络seo关键词优化技巧
  • 营销型网站窗口客服2022年最新新闻播报稿件
  • 网站建设试用seo推广网站
  • 南宁论坛济南做seo排名
  • wordpress php 采集器化工网站关键词优化
  • 石家庄做网站的公司免费域名注册平台有哪些
  • 建设网站要注册公司吗教你免费申请个人网站
  • 网站项目策划书内容模板昆明装饰企业网络推广
  • 为什么自己做的网站别的电脑打不开网络运营培训课程
  • 建设 网站工作汇报五个成功品牌推广案例
  • 上海网站建设 网页做b2b平台有哪些
  • 做网站需要留什么条件搭建网站
  • 做网站插音乐怎么隐藏站长统计入口
  • 房产网站制作方案steam交易链接可以随便给别人吗
  • 怎样申请网站域名和空间网站展示型推广
  • 长春建设网站制作无代码网站开发平台
  • 衢州做网站公司免费可用的网站源码
  • 网站怎么分类百度竞价排名医院事件
  • 搜索网站的设计与建设seo关键词优化举例
  • 网站做文献格式网络seo优化公司
  • 建网站申请手机百度app
  • dw做的简单的个人网站网盘厦门seo排名外包
  • 网站个人和公司有什么区别是什么广州快速排名
  • 网站网页设计模板下载买卖网交易平台
  • 山东住建厅官网二建最新seo黑帽技术工具软件
  • 海沧网站建设株洲网页设计
  • 招聘代做网站软文营销方案
  • 为什么不能进入wordpress怎么优化自己网站
  • 海南建设网站公众号seo排名软件
  • 嘉兴网站建设多少钱seo推广顾问