随笔分类 -  struts2

摘要:web.xml中配置<filter> <filter-name>UrlRewriteFilter</filter-name> <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pa 阅读全文
posted @ 2013-03-08 10:21 虎猫 阅读(184) 评论(0) 推荐(0)
摘要:<s:if test='#cho.anser=="B"'> <option value="B">B</option> </s:if>外面用单引号,里面额字符串用双引号 阅读全文
posted @ 2013-01-30 15:27 虎猫 阅读(205) 评论(0) 推荐(0)
摘要:需要导入两个jar包 commons-fileupload-1.2.2.jar commons-io-1.4.jar上传1 .页面写法 <form action="<%=path %>/stuinfo/uploadImages.action" method="post" enctype="multipart/form-data"> <input type="file" name="uploadImage" /> <input type="sub 阅读全文
posted @ 2013-01-27 14:11 虎猫 阅读(144) 评论(0) 推荐(0)
摘要:<s:token></s:token> 服务器将令牌给页面,页面拿到令牌和服务器匹配,如果一直,继续完成程序往下走,如果不匹配,那么返回 拦截器配置 使用步骤: 1.在页面form表单中加<s:token></s:token> 2.在配置文件中Action配置中添加拦截 <action name="" class=""> <interceptor-ref name="token"></intercepter-ref> <result name=” 阅读全文
posted @ 2013-01-27 13:52 虎猫 阅读(238) 评论(0) 推荐(0)
摘要:方法注解 @before 表示在Action调用前调用 @after 表示在Action调用后调用 如果要用到上面两个注解,必须在struts.xml中声明,因为/struts-default包中没有进行声明 例子: @BeforeResult public String doBefore(){ } 阅读全文
posted @ 2013-01-27 13:44 虎猫 阅读(183) 评论(0) 推荐(0)
摘要:取值需要加#(值栈中取值不需要加#) parameters #parameters.userName request #request.userN session #session.user application #application.user attr #attr.user 优先级 parameter-->request-->session-->application-->attr OGNL中的%的使用 用%可以去除存在值栈中的Action对象,直接调用它的方法 OGNL中的$的使用 在struts.x... 阅读全文
posted @ 2013-01-27 13:38 虎猫 阅读(351) 评论(0) 推荐(0)
摘要:投影: 利用投影获取list中的某一列 <s:property value=stu.{userName}" /> 获取某行的一列的值 <s:property value=stu.{userName}[index]" />选择: 从集合中符合某些条件的集合中筛选 <s:property value=stu.{?#userAge>18}" /> ?的意思是获取到满足条件的所有的值 ^的意思是获取满足条件的第一个<s:property value=stu.{^userAge>18}" /... 阅读全文
posted @ 2013-01-27 13:26 虎猫 阅读(175) 评论(0) 推荐(0)
摘要:应用场景 1.标签:<s:property value="user.name" /> 2.配置文件:<result type="redirect">/main.jsp?name=${name}</result> 3.将值传递到前台:<s:property value="user.name" /> 4.调用action中的静态方法<s:property value="@cn,cstp.org.action.LoginAction@get()" /> 5.调用 阅读全文
posted @ 2013-01-27 13:16 虎猫 阅读(252) 评论(0) 推荐(0)
摘要:总共会有4中方法来获取 1.Map类型与对象非IOC ActionContext.getContext().get("object") .getSession() getApplication分别获取到Map类型的request,session,application 必须在excute方法中初始化 2.Map类型的Ioc模式,控制权交给了服务器,来通过set方式注入值 A. implements RequestAware sessionAware ApplicationAware B.重写方法:例如: public vo... 阅读全文
posted @ 2013-01-27 12:50 虎猫 阅读(187) 评论(0) 推荐(0)
摘要:MDI(动态方法调用)path!methodName?aram 主要分为两种情况 : 1.method的属性和Action的方法名相同 2.method的属性为"methodName"而Action中的方法的名字为“doMethodName” ,好处:对关键字的屏蔽,比如我们想调用的时候用default但是Action中我们无法定义方法其名为default ,所以我们可以用doDefault 转发Action的配置: <action name="main"> <result>/main.jsp</result> ... 阅读全文
posted @ 2013-01-26 14:38 虎猫 阅读(161) 评论(0) 推荐(0)
摘要:xwork包-->interceter下的每一个类进行一个拦截的拦截器 在配置文件中,配置拦截器 < package> <interceptor name="" class=""/> <action> <interceter-ref name=""/> </action> </package>说明,当package extends /struts-default 包的时候,就引用到了struts2在struts-default.xml中为我们声明的很多的拦截 阅读全文
posted @ 2013-01-26 13:50 虎猫 阅读(247) 评论(0) 推荐(0)
摘要:示例: <package name="award" extends="struts-head" namespace="/award"> <!-- 用户登陆 通配符 规则:在action中定义方法的时候方法名就写功能的名字,不要加表明,访问的时候 方法的名字加上StuInfo 配置的时候如果还有不具有通配符的放最前面,匹配范围越大越往后面放 --> <action name="*Award" method="{1}" class="com.sky.stuso 阅读全文
posted @ 2013-01-25 13:58 虎猫 阅读(122) 评论(0) 推荐(0)
摘要:1.web.xml2.struts.xml 主配置文件 <Bean>配置(用来扩展struts2的功能) 属性:class:全路径名 type:实现的接口 name:bean的名字,在具有相同type属性的bean中,改名字必须唯一 scope:bean的作用域;【default】,【singleton】,【request】,【session】,【thread】 static:是否静态注入,如果指定type,static就不能为true3.struts.properties 属性文件(自定义放在src目录下可以用来... 阅读全文
posted @ 2013-01-25 13:38 虎猫 阅读(189) 评论(0) 推荐(0)
摘要:struts2提供了3中形式来传递参数 1.用Action属性传参,不合适情形:属性过多的情况 使用的时候必须对这些Action提供get和set方法 2.建立一个VO来传参(领域对象模型) VO中属性要get和set方法 Action中将Vo作为属性,提供get和set方法 前端页面采用对象.属性名的形式传递参数,action中不要new那个VO对象,struts2会自动填充 3.使用ModelDriver来接受参数 extends ActionSupport implements ModelDriver<T> 不要get和set方法,但是要将对象new出来最佳实践... 阅读全文
posted @ 2013-01-24 23:02 虎猫 阅读(167) 评论(0) 推荐(0)
摘要:\ struts2继承自webwork而不是struts1(webwork的技术,struts1的市场) struts2和struts1的区别 1.struts1要求继承自Action抽象类,struts2面向接口编程,只要有excute(不一定)的pojo都是Action 2.Struts1中的Action是单例模式所以必须要求保证线程安全,struts2中的Action对象为每一个请求产生一个实例,不必要去考虑线程的问题。 3 .selevlet依赖:struts1中的Action依赖于服务器,Struts2不依赖于容器,允许脱离容器测试 4.捕获输入:struts1用到actionFor 阅读全文
posted @ 2013-01-24 22:52 虎猫 阅读(207) 评论(0) 推荐(0)