![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
46_struts2
信行合一
彻底拆分一切可控!
展开
-
过滤器使用的方法
原创 2012-03-18 13:31:22 · 613 阅读 · 0 评论 -
jsp中不使用ognl直接访问值栈中内容
有些特殊情下,需要在JSP的java代码段中直接访问值栈内容。而不使用获取,可以通过如下方式进行:String name = (String)ActionContext.getContext().getValueStack().findValue("name"); 为了正常运行,还需要在jsp将这com.opensymphony.xwork.ActionContext 类引入转载 2013-01-13 11:40:10 · 775 阅读 · 0 评论 -
struts判断对象是否为空
判断一个对象的值是否为空 1.如果被判断的对象是一个字符串或者是一个对象那么就直接使用 结果为空 2.如果被判断的对象是一个对象的属性 比如有一个对象person,里面含有一个name属性那么判断name属性是否为空的时候,首先要判断person是否为空,因为如果person为空的话,那么执行这一的判断结果为空是没有意义的,因为这种判断根本不会执行。原创 2013-01-13 13:03:51 · 2464 阅读 · 0 评论 -
Invalid action class configuration that references an unknown class named [productInfoAction]
这种错误的情况有多种,目前我发现有两种:1.在页面中定义了后台没有的属性/或者是对象的属性。 比如前台定义了一个name属性,后台根本没有这个属性2.在页面中使用标签接收了后台传递过来的对象的值(包含若干属性)。比如后台有一个类Person:package com.dada.test;public class Person { private int id; priva原创 2013-02-05 01:31:56 · 822 阅读 · 0 评论 -
struts2 set 标签的自身引用
原创 2013-02-07 02:57:43 · 397 阅读 · 0 评论 -
javascript中使用EL表达式
原理:javasript中使用EL表达式的原理是EL表达式的值在服务器后台就为EL表达式赋值了,使用的方式是使用双引号把EL表达式给括起来。function ready() { var msg = "${message}"; alert("msg1:"+msg1+"msg:"+msg); if(msg!="") { alert(msg); }}转载 2013-04-18 14:48:35 · 889 阅读 · 0 评论 -
struts1和struts2安全性比较
1.struts 1struts1 本身是线程安全的,这是因为我们在Action中使用的基本都是局部变量,而“局部变量是线程安全的。因为每执行一个方法,都会在独立的空间创建局部变量,它不是共享的资源。所有的变量都是定义在Action中我们要执行的方法里的(Action中的execute方法或DispatchAction中指定要执行的方法),我们用于封装客户端请求参数的ActionForm,也是原创 2013-08-07 09:51:51 · 1767 阅读 · 0 评论 -
struts2获取request,session,application方式
1.取得Map类型request,session,application引用(依赖于容器)package com.bjsxt.struts2.user.action;import java.util.Map;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport转载 2013-08-29 20:30:20 · 650 阅读 · 0 评论 -
struts2 判断字符串相等和其他struts2标签
Struts2标签判断字符串相等 及 struts2 标签库在做项目时,需要判断用struts2标签来判断两个字符串是否相等,在查阅了相关资料后,找到了如下方法正确的写法如下:男 男 男 struts2的标签库很强大,主要的标签有:A: -----超链接,类似于html里的 -----执行一个view里面的一个action -----如果原创 2013-11-02 23:52:22 · 1839 阅读 · 0 评论 -
OGNL 概念和原理
引言:众所周知,在mvc中,数据是在各个层次之间进行流转是一个不争的事实。而这种流转,也就会面临一些困境,这些困境,是由于数据在不同世界中的表现形式不同而造成的: 1. 数据在页面上是一个扁平的,不带数据类型的字符串,无论你的数据结构有多复杂,数据类型有多丰富,到了展示的时候,全都一视同仁的成为字符串在页面上展现出来。 2. 数据在Java世界中可以表现为丰富的数据结构和数据类型,你可转载 2014-05-12 14:55:04 · 647 阅读 · 0 评论 -
Struts2调用过程
1.客户端初始化一个指向Servlet容器(例如Tomcat)的请求。2.这个请求经过一系列的过滤器(filter)(这些过滤器中有一个叫做ActionContextUp的可选过滤器,这个过滤器对于Struts2和其他框架集成很有帮助,例如:SiteMesh Plugin)3.接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个原创 2012-02-22 15:42:05 · 964 阅读 · 0 评论 -
struts2中根对象以及ognl
Struts2中的OGNL表达式语言是对Xwork的OGNL的封装。我们要理解一下几点: 1. Struts2中将ActionContext作为OGNL的上下文环境(ActionContext内部含有一个Map对象) 2. Struts2中的OGNL表达式语言的根对象是一个ValueStack,ValueStack中的每一个对象都被视为根对象。 Struts2框架将实例化的Action转载 2014-05-12 13:51:44 · 1455 阅读 · 0 评论 -
struts2 的乱码问题
1.struts 中可解决乱码问题基础乱码问题原创 2014-05-13 15:07:45 · 563 阅读 · 0 评论 -
浅谈 struts2 之 chain
前一段时间,有关chain的机制着实困绕了许久.尽管网上有许多关于chain的解说,但要不是只谈大理论,不结合实例;要不就是只有示例,没有挖出示例背后的意义. 先解释下chain吧: Chain:基本用途是构造成一条动作链。前一个动作将控制权转交给后一个动作,而前一个动作的状态在后一个动作里仍然保持着。动作链由Chaining拦截器负责处理,因为这个拦截器是defaultStack转载 2014-05-13 17:21:46 · 1391 阅读 · 0 评论 -
Struts2 路径问题
1.新建项目testAction2.引入Struts2原创 2014-05-12 18:22:14 · 691 阅读 · 0 评论 -
Struts2 处理 json
早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具体应用了,但苦于一直忙于工作难以抽身,渐渐的也淡忘了此事。直到前两天有同事在工作中遇到这个问题,来找我询问,我又细细地给他讲了一遍之后,才觉得无论如何要抽一个小时的时间来写这篇文章,从头到尾将Struts2与JSON的关系说清楚。 其实网络中,关于这个问题的答案已是海量,我当初也是从这海量的转载 2014-05-28 16:08:23 · 890 阅读 · 0 评论 -
ActionContext和ServletActionContext区别
1.ActionContextxwork框架的ActionContext是Action执行时的上下文,存放Action执行时需要用到的对象。在使用webwork时,其中放有Parameter、Session、ServletContext、Locale等信息。这样,webwork负责将Servlet相关数据转换为与ServletAPI无关的Map对象(即ActionContext),使得xwor转载 2014-05-30 16:46:22 · 834 阅读 · 0 评论 -
struts2 iterator标签使用
1.iterator标签使用*用来处理循环,可以用它遍历数组,Set和List等集合对象,这个标签还支持在ActionContext中保持一个保存遍历状态的对象,通过这个变量可以得到当前循环的各种信息。 *它在遍历一组对象的时候,它把正在循环的对象放在值栈的栈顶,所以可以直接使用这个对象的方法或者属性。 *属性信息 *val转载 2013-01-12 19:37:17 · 935 阅读 · 0 评论 -
detached entity passed to persist
第一次插入数据的时候正常,第二次再插入数据的时候就会出现上面的错误,原因是当我第二次插入用户的时候,还没有实例化到数据库就有了ID值,而且这个ID值是我第一次插入用户的ID,这是不正常,因为ID没有设置过,而且JPA默认的行为是只要指定了主键生成策略,主键就不能设置了,一旦不为空或者0就被认为是已经保存到了数据库中,一旦调用persist()方法就会抛出上面的异常。为什么会还有第一次的插入用户转载 2013-01-13 16:00:10 · 613 阅读 · 0 评论 -
struts自定义拦截器
struts2拦截器的编程理念:struts2的拦截器的编程方式又叫做AOP叫做面向切面编程;之所以这样说是因为它打破的常规的编程的思想,不是按照常理向下去执行的,而是在执行的过程中切了一刀,对着那个被截断的位置去编程,所以就叫做面向切面编程.使用自定义的拦截器配置: /test.jsp 使用自原创 2013-01-12 23:56:10 · 417 阅读 · 0 评论 -
struts2处理json
原文地址:http://yshjava.iteye.com/blog/1333104Struts2返回JSON数据的具体应用范例 Struts2JSON早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具体应用了,但苦于一直忙于工作难以抽身,渐渐的也淡忘了此事。直到前两天有同事在工作中遇到这个问题,来找我询问,我又细细地给他讲了一遍之转载 2012-03-13 15:47:31 · 3037 阅读 · 0 评论 -
struts2文件下载完整版
我今天简单介绍一下Struts 2的文件下载问题。 我们的项目名为 struts2hello,所使用的开发环境是MyEclipse 6,当然其实用哪个IDE都是一样的,只要把类库放进去就行了,文件下载不需要再加入任何额外的包。读者可以参考文档:[url]http://beansoft.java-cn.org/myeclipse_doc_cn/struts2_demo.pdf[/url],来转载 2012-04-26 07:41:05 · 1285 阅读 · 0 评论 -
Struts2 execute返回值含义
1.ERROR表示动作出错了2.SUCCESS表示动作执行成功3.LOGIN表示需要先登录才能执行动作4.INPUT表示需要先输入数据才能执行动作5.NONE表示动作类执行成功原创 2012-08-12 00:09:48 · 2821 阅读 · 0 评论 -
Struts2拦截器实现原理
拦截器的实现主要靠得是一个拦截器链,另外的一个是拦截器的调用的类,它的目的就是在真正执行Action方法之前加入一些额外的处理代码Action类public class Action {public String execute() {return "success";}}拦截器接口:public interface Interceptor {原创 2011-12-21 10:11:02 · 713 阅读 · 0 评论 -
struts2 标签库
第五章:Struts2标签库 — Presentation Transcript原文地址:http://www.slideshare.net/shmily7788/struts2-8161454第五章: Struts 2 标签库 主讲:刘雷学习目标Struts2 标签库概述Struts2 数据标签Struts2 控制标签Strut转载 2011-12-20 16:45:49 · 2918 阅读 · 0 评论 -
struts2简明教程
Struts2简明教程本教程整个过程中都以例子贯穿始终,辅助以解释说明.1.web.xml中配置struts2要在项目中使用struts首先要在web.xml中把struts2配置进来,而struts2是作为filter被配置进来的 struts2org.apache.struts2.dispatcher.ng.filter.StrutsP原创 2011-12-20 16:42:27 · 892 阅读 · 0 评论 -
OGNL表达式使用
原文地址:http://www.blogjava.net/parable-myth/archive/2010/10/28/336353.htmlOGNL表达式struts2标签“%,#,$”一、什么是OGNL,有什么特点? OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言。是一种可以方便地操作对象属转载 2011-12-16 17:04:02 · 469 阅读 · 0 评论 -
java自定义标签
java自定义标签的原理:其实java的自定标签的原理很简单,其实就跟web.xml原理是一样的,只要你知道了servlet的原理你就可以理解自定义标签的原理了,servlet的配置的时候,需要配置两个一个是另外是这样做的目的是可以通过mapping获取servlet-name,之后根据servlet-name获取,根据class位置就tomcat就可以进行调用了那这里的自原创 2011-12-15 16:51:30 · 549 阅读 · 0 评论 -
java国际资源化文件配置j2se+j2ee
j2se项目配置:1.新建资源化文件命名格式:xxx_zh_CN.properties,xxx_en_US.properties2.程序中获取:public String getMessage(String msgName) {//第一个参数指定的是资源化文件的前缀,第二个参数指定的地区ResourceBundle res = ResourceBundle.ge原创 2011-12-20 18:16:53 · 1279 阅读 · 0 评论 -
零碎知识
<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>path代表的是当前的request所在的上下文的环境basePath就是基础路原创 2012-03-18 12:42:34 · 510 阅读 · 0 评论 -
Unable to find 'struts.multipart.saveDir' property setting解决方法
在struts.xml中配置上这一句话就行了:原创 2012-03-13 11:18:21 · 1211 阅读 · 0 评论 -
struts文件配置顺序
在配置struts的出错页面的时候是有顺序的,比如配置全局的出错的页面和全局的默认页面,这两个页面的先后顺序是:先配置全局的默认页面,再配置全局的错误页面error.jspexception.jsp在配置全局的错误出错的处理的时候是这样的,就是在程序在一个Action中运行出错的时候,它首先是在当前的包里面去找有没有对应的错误的处理页面,如果有就直接的把错误交给原创 2011-12-06 00:58:15 · 649 阅读 · 0 评论 -
EL表达式
关于EL 表达式隐式对象就是不需要我们new的对象,直接的我们就可以在页面使用的对象,注意是在里面或者是里面,EL表达式总是用大括号括起,而且前面有一个美元符($)前缀:${expression}。表示式中第一个命名变量要么式一个隐式对象,要么是某个作用域(页面作用域、请求作用域、会话作用域或应用作用域)中的一个属性。点 号操作符允许你使用一个Map键或一个be转载 2011-12-14 17:26:04 · 439 阅读 · 0 评论 -
properties文件的配置
国际化的配置需要注意的地方:1.在struts文件中进行配置:如果国际化的资源文件为login_zh_CN.properties那么配置的时候value为login2.在配置的时候要注意把资源文件放到src目录下面3.在配置中文的配置文件时一定要在可视化界面中去配置,否则就无法编译为正确的可供程序使用的编码.原创 2011-12-05 09:47:51 · 695 阅读 · 0 评论 -
struts1执行过程
1.是根据struts配置文件,把对应的form中的input属性装配到指定的bean,并且设置session;2.根据struts文件查找指定的Action,并且对其进行调用来处理请求,根据Action的处理结果,返回一个forward变量,然后通过mapping.findFoward()查找出对应的forward所标示的Action或者jsp页面。原创 2012-02-22 15:54:34 · 446 阅读 · 0 评论 -
struts1的执行过程
1.请求发送给容器(例如Tomcat)。2.容器根据web.xml中配置的struts-config.xml去检查是不是需要把请求交给strust处理。3.如果请求交给了struts1来处理的话,那么这个时候由于前台指定了Action的位置,所以这个时候strust1会根据jsp页面中所配置的Action的位置去strust-config.xml中查询jsp页面form所对应的后台的for原创 2012-02-23 10:02:40 · 511 阅读 · 0 评论 -
ssh antlr.collections.AST.getLine()I
是JAR包的冲突 antlr2.7.2 与 antlr2.7.6 冲突删除antlr2.7.2 即可,具体方法:在MyEclipse下,windows-->preferences-->在文本框中搜索struts2-->选择antlr2.7.2-->remove在tomcat该应用的目录WEB-INF\lib 删除 antlr2.7.2.jar 出处:http://www.cnblo转载 2012-11-28 22:02:59 · 534 阅读 · 0 评论 -
el表达式跟ognl表达式的区别(用法和页面取值)
1.区别用法区别:OGNL是通常要结合Struts 2的标志一起使用,如 struts页面中不能单独使用,el可以单独使用 ${sessionScope.username} 页面取值区别: 名称servletognl转载 2014-05-30 17:33:50 · 997 阅读 · 0 评论