Struts2之处理结果集】的更多相关文章

在jsp/servlet中,结果集一般是指请求转发和重定向这两种. Struts2作为框架,提供了基于这两种的很多其它的结果集! 在struts-default.xml中定义了一些默认的结果集:          <result-types>             <result-type name= "chain" class="com.opensymphony.xwork2.ActionChainResult" />          …
这一章节主要介绍如何配置结果集,分为以下几个知识点: 结果集类型(result type) 全局结果集(global types) 动态结果集(dynamic type) 带有参数的结果集(type with params) result type: 结果集类型一共有十一种: dispatcher redirect chain redirectAction freemarker httpheader stream velocity xslt plaintext tiles 最常用的是前两种:一个…
一.分析之前的项目的不足,编写属于自己的框架二.Struts2简介(面试)三.搭建Struts2的开发环境 1.找到所需的jar包:发行包的lib目录中(不同版本需要的最小jar包是不同的,参见不同版本的文档.2.1.7)去apps中找例子拷贝jar包 2.在应用的WEB-INF/classes目录下建立一个名称为struts.xml的配置文件,内容如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTY…
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <package…
struts2漏洞复现合集 环境准备 tomcat安装 漏洞代码取自vulhub,使用idea进行远程调试 struts2远程调试 catalina.bat jpda start 开启debug模式,注意关闭tomcat程序 在idea中配置remote调试,对应端口为8000. 导入相应jar库. Struts2基础 框架结构: 控制器:核心过滤器StrutsPrepareAndExecuteFilter.若干拦截器和Action组件实现 模型:有JavaBeans或JOPO实现 视图 配置文…
上一篇我们把Struts2中的Action接收参数的内容为大家介绍了,本篇我们就一起来简单学习一下Action的4种Result type类型,分为:dispatcher(服务端页面跳转):redirect(客户端页面跳转):chain(动作链跳转):redirectAction(客户端Action跳转),当然还有其他类型,这里我们就以这四种为例为大家介绍一下,其他几种大家有兴趣单独学习.下面我们一起来看一下上面四种的具体实现,首先是我们的配置文件: <package name="resu…
一.interceptor拦截器 1.自定义拦截器 public class Cus_Emp_Interceptor implements Interceptor { public String intercept(ActionInvocation invocation) throws Exception { // TODO Auto-generated method stub Customer customer = (Customer) ServletActionContext.getRequ…
写在前面: 最近项目的前框框架用的是ligerUI,里面用到了ligerGrid表格,下面就来说说从后台获取数据并在前台页面进行完美展示.啊哈哈哈..(天啦,坐我旁边的丽姐貌似炒股 一个月可以搞几十万,厉害厉害厉害了....) 1.前台页面代码: roleGrid = $("#roleGrid").ligerGrid( { columns: [ {display: '角色编号', name: 'roleId', align: 'left', width: 100, minWidth:…
写在前面: 最近项目的前框框架用的是ligerUI,一开始我是拒绝的,因为貌似ligerUI很少有人用,我真的很想问我们team的斌哥哥为什么要用ligerUI来做前端框架?????(啊哈哈哈,用什么都是一样,反正都不会...)而且从来都没有接触过ligerUI,哎哎哎,做的过程中真的是很烦很烦,因为没人能帮助,而且官网api大多数的demo都是从本地获取数据,但是我们肯定不是拿本地数据的,而是从后台获取数据哒..只能慢点看api,看demo了....还好还好.我做的module已经做出来了.啊…
  十.Struts2结果集                         1.Struts.xml配置文件 result元素:指定动作类的动作方法执行完后的结果视图. 属性: name:字符串,与动作方法返回的值一致.默认是success type:指定处理结果的结果类型的别名.(struts-default.xml有定义).默认值是dispatcher 2.局部和全局结果视图 public class UserAction extends ActionSupport {     @Over…
项目中我们常常遇到这种需求--页面部分刷新.比如:加入用户,转到加入用户页面时,页面自己主动载入了全部部门. 完整流程:选择所属部门,填写username和password,点击"注冊" 填写username后,须要马上检查数据库是否存在此username,怎样在不刷新页面的情况下实现此效果? 但看上面提出的问题并不难.情况非经常见,都知道使用ajax实现.可是怎样在struts中自己定义结果集来实现ajax--这是这篇博客的重点. (注:servlet要么转发要么重定向.struts…
result结果集 上一篇文章主要讲Struts2框架(4)---Action类访问servlet这篇主要讲result结果集 在Struts.xml中的result元素指的是:指定动作类的动作方法执行完后的结果视图. (1)局部结果和全局结果 他有两个属性: name:字符串,与动作方法返回的值一致.默认是success type:指定处理结果的结果类型的别名.默认值是dispatcher 首先处理结果分为两种,一种是局部结果一种是全局结果. 局部结果: <action name="lo…
全局结果集: 当许多action都有共同的结果时,如果每个package都存在一个相同结果,会使得struts.xml比较臃肿,所以使用全局的结果集.一个包内的全局结果集可以通过包的继承而被其它包使用. 这样做的好处是:通用的结果集不用多次配置,减少struts.xml的配置量. 带参数的结果集: 同jsp+servlet一样,struts2中也有转发和重定向,转发的过程在服务器端完成,这个过程共享一个值栈(value Stack),客户端并不知道页面跳转到了那个jsp页面,其地址栏中显示的是所…
2.首先,新建一个struts2项目,项目名为ResultParam,打开index.jsp页面,修改编码格式为utf-8,添加一个超链接,用于向结果集传参数,完整代码如下: 相应的struts.xml配置文件的配置如下: 接着新建一个Action类,为UserAction类,用来指定一个成员变量type,添加set和get方法,并添加一个默认的execute方法,返回类型为String 返回"success"的话就重定向到/user_success.jsp?t=${type}页面上去…
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核心配置.动态方法调用.结果集的处理 传送门 JavaWeb_(Struts2框架)Log4j的配置以及解决中文乱码 传送门 JavaWeb_(Struts2框架)参数传递之接收参数与传递参数 传送门 JavaWeb_(Struts2框架)Ognl小案例查询帖子 传送门 JavaWeb_(Struts…
以前在采用Struts2开发的项目中,对JSON的处理一直都在Action里处理的,在Action中直接Response,最近研读了一下Struts2的源码,发现了一个更加优雅的解决办法,自己定义一个ResultType, 首先大家先看下Struts2中的源码 包com.opensymphony.xwork2下的DefaultActionInvocation 472行 /** * Save the result to be used later. * @param actionConfig cu…
转自:https://blog.csdn.net/u013161278/article/details/41855273 如果我们所有的action均有可能跳到相同的页面,则不妨使用全局result.为了方便引用我们专门建立一个package来存放公共的result.在会用到个全局的跳转时,只需要把继承自这个公共的package即可. 建立公共包,代码如下: <package name="pubResult" extends="struts-default"…
1.index.jsp <body> 动态结果 一定不要忘了为动态结果的保存值设置set get方法 <ol> <li><a href="user/user?type=1">返回success</li> <li><a href="user/user?type=2">返回error</li> </ol> </body> 2.struts.xml &l…
1.index,jsp <body> Result类型 <ol> <li><a href="user/user?type=1">返回success</li> <li><a href="user/user? type=2">返回error</li> <li><a href="user/user?type=3">返回global r…
Struts2框架基础 1.Java的框架 1.1.框架简介 在大型项目开发过程中,经常会使用到一些框架,这样做好的好处是能够提高工作效率,在java中最常用的的框架就是SSH,这其实是三个框架的简称. java web的开发也是遵循着MVC模式,从jsp代表的视图层,到servlet代表的控制层,service代码的逻辑层和dao代表的数据库层,通过一些框架,使其能够提供更加快捷的开发 框架在软件中其实就是一种半成品,有些功能已经实现了,这样,当我们的项目开发建立在框架上时,就可以提高开发效率…
一.SSH三大框架知识总结 Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大.Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品.虽然从Struts 1到Struts 2有着太大的变化,但是相对于W…
struts2 + Spring +hibernate Hibernate工作原理及为什么要用?   原理:   1.读取并解析配置文件   2.读取并解析映射信息,创建SessionFactory   3.打开Sesssion   4.创建事务Transation  5.持久化操作   6.提交事务   7.关闭Session   8.关闭SesstionFactory    为什么要用:   1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码.    2. Hib…
1) -->下载开发包,网址:http://struts.apache.org/download.cgi 本文使用的是struts-2.5.2-all开发包 2) -->导入jar包,具体的jar包可以从以下方法获得: 解压打开开发包,在apps文件夹,解压struts2-rest-showcase.war包(在libs下找到jar包)导入相关jar包: 3) -->配置web.xml文件,最新版本: <filter> <filter-name>struts2&l…
昨天有同学问我问题,他告诉我他的Action中的一个属性明明提供了get/set方法,但是在方法中却获取不到表单中传递过来的值.代码如下(简化后的代码) public class UserAction implements modelDriven<User>(){ private String name; private User model; public void setName(String name){ this.name=name; } public String getName()…
一.SSH整合之后事务问题和总结 1.引入问题:DAO层测试 假设将User对象设置为懒加载模式,在dao层使用load方法. 注意,注释不要放开. 使用如下的代码块进行测试: 会报错:no session. 为什么会没有session呢,因为在代码 User user=(User) hibernateTemplate.load(User.class, id); 执行完成之后session就已经关闭了. 2.Service层测试 (1)Service层代码: DAO层代码:   测试代码: 运行…
一.Spring整合Hibernate 1.如果一个DAO 类继承了HibernateDaoSupport,只需要在spring配置文件中注入SessionFactory就可以了:如果一个DAO类没有继承HibernateDaoSupport,需要有一个HibernateTemplate的属性,并且在配置文件中进行注入.注意,之前使用的是JdbcDaoSupport和JdbcTemplate,传递的是DataSource,现在使用的是HibernateDaoSupport和HibernateTe…
理解 Interceptor拦截器类似于我们学过的过滤器,是可以在action执行前后执行的代码.是我们做web开发是经常使用的技术,比如权限控制,日志.我们也可以把多个interceptor连在一起组成一个栈. 拦截器是一种AOP(面向切面编程)思想的编程方式.它提供一种机制是开发者能够把相对独立的代码抽离出来,配置到Action前后执行. Struts2拦截器,每个拦截器只有一个对象实例,属于单例模式,struts2核心功能都是通过拦截器来实现的. 作用 对action的一些公共处理代码可以…
这一节主要讲解struts2里面的struts.xml的常用标签及作用: 解决乱码问题 <constant name="struts.i18n.encoding" value="utf-8"/> //设置编码格式为utf-8 自定义扩展名 <constant name="struts.action.extension" value="action,,wang"/> //struts默认扩展名是actio…
Struts2框架框架使用OGNL语言和值栈技术实现数据的流转处理. 值栈就相当于一个容器,用来存放数据,而OGNL是一种快速查询数据的语言. 值栈:ValueStack一种数据结构,操作数据的方式为:先进后出 OGNL : Object-GraphNavigation Language(对象图形导航语言)将多个对象的关系使用一种树形的结构展现出来,更像一个图形,那么如果需要对树形结构的节点数据进行操作,那么可以使用 对象.属性 的方式进行操作,OGNL技术底层采用反射实现. 一:数据的提交方式…
一.使用stream类型的Result实现Ajax 具体步骤: ① 定义InputStream类型的成员变量及getter和setter ②具体业务方法中将要发送到客户端的json字符串赋值给成员变量 ③编写struts.xml,定义stream生成响应数据类型及输出结果 二.配置Action的result 具体步骤: ①定义package,并继承struts-default ②使用<action>标签定义StreamResultAction类对应的名称和所在位置 ③使用stream类型的re…