![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Struts2
南风不竸
指掀涛澜天下惊,抚筝百载,清绝吾命。挑弦一曲与谁听,昂首万里,江山无人!
展开
-
struts2获取session与request对象
<br />非IoC方式<br /> 要获得上述对象,关键Struts 2.0中com.opensymphony.xwork2.ActionContext类。我们可以通过它的静态方法getContext()获取当前 Action的上下文对象。 另外,org.apache.struts2.ServletActionContext作为辅助类(Helper Class),可以帮助您快捷地获得这几个对象。<br />HttpServletRequest request = ServletActionContext转载 2010-12-25 12:40:00 · 1386 阅读 · 0 评论 -
传智Struts2笔记(四)Action中result的各种转发类型
<br />Action中result的各种转发类型<br /><br />Xml代码 <action name="helloworld" class="cn.itcast.action.HelloWorldAction"> <result name="success">/WEB-INF/page/hello.jsp</result> </action> <action name="helloworld" class="cn.itcast.action.HelloWorldAction">转载 2010-12-25 12:48:00 · 568 阅读 · 0 评论 -
传智Struts2笔记(5)为Action的属性注入值
<br />Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。注意:属性必须提供setter方法。Java代码 public class HelloWorldAction{ private String savePath; public String getSavePath() { return savePath; } public void setSav转载 2010-12-25 12:48:00 · 444 阅读 · 0 评论 -
传智Struts2笔记(11)自定义拦截器
<br />自定义拦截器<br /><br />要自定义拦截器需要实现com.opensymphony.xwork2.interceptor.Interceptor接口:Java代码 public class PermissionInterceptor implements Interceptor { private static final long serialVersionUID = -5178310397732210602L; public void destroy() {转载 2010-12-25 12:55:00 · 477 阅读 · 0 评论 -
传智Struts2笔记(13)国际化
<br />准备资源文件,资源文件的命名格式如下:<br />baseName_language_country.properties <br />baseName_language.properties <br />baseName.properties<br />其中baseName是资源文件的基本名,我们可以自定义,但language和country必须是java支持的语言和国家。如: <br />中国大陆: baseName_zh_CN.properties <br />美国: baseName_e转载 2010-12-25 12:57:00 · 458 阅读 · 0 评论 -
传智Struts2笔记(二)第一个Struts2应用--HelloWorld
<br />在默认的配置文件struts.xml 中加入如下配置: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> <package name转载 2010-12-25 12:46:00 · 317 阅读 · 0 评论 -
传智Struts2笔记(一)入门
<br />什么是Struts2<br />Struts2是在WebWork2基础发展而来的。和struts1一样, Struts2也属于MVC框架。不过有一点大家需要注意的是:尽管Struts2和struts1在名字上的差别不是很大,但Struts2和struts1在代码编写风格上几乎是不一样的。那么既然有了struts1,为何还要推出struts2。主要是因为struts2有以下优点: <br />1 > 在软件设计上Struts2没有像struts1那样跟Servlet API和struts API有转载 2010-12-25 12:46:00 · 345 阅读 · 0 评论 -
传智Struts2笔记(9)类型转换器
<br />自定义类型转换器<br /><br />java.util.Date类型的属性可以接收格式为2009-07-20的请求参数值。但如果我们需要接收格式为20091221的请求参数,我们必须定义类型转换器,否则struts2无法自动完成类型转换。 <br />Java代码 import java.util.Date; public class HelloWorldAction { private Date createtime; public Date getCrea转载 2010-12-25 12:52:00 · 341 阅读 · 0 评论 -
传智Struts2笔记(12)输入校验
<br />输入校验<br />在struts2中,我们可以实现对action的所有方法进行校验或者对action的指定方法进行校验。 <br /><br />对于输入校验struts2提供了两种实现方法: <br />1. 采用手工编写代码实现。 <br />2. 基于XML配置方式实现。 <br /><br /><br />手工编写代码实现对action中所有方法输入校验<br />1.通过重写validate() 方法实现, validate()方法会校验action中所有与execute方法签名相同转载 2010-12-25 12:56:00 · 518 阅读 · 0 评论 -
Java文件下载(转)
<br />原文出处:http://www.cnblogs.com/ungshow/archive/2009/01/12/1374491.html <br /><br />Java文件下载的几种方式Java代码 public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 File fil转载 2010-12-25 13:01:00 · 542 阅读 · 0 评论 -
传智Struts2笔记(15)Struts2+Spring2.5+Hibernate3.3整合开发
<br />Struts2+Spring2.5+Hibernate3.3整合开发<br />下面给出整合开发时Struts 2、 Hibernate、Spring需要的JAR。<br />struts2-core-2.x.x.jar :Struts 2框架的核心类库 <br />Xwork-core-2.x.x.jar :XWork类库,Struts 2在其上构建 <br />ognl-2.6.x.jar :对象图导航语言(Object Graph Navigation Language),struts2框转载 2010-12-25 13:00:00 · 679 阅读 · 0 评论 -
传智Struts2笔记(14)表单重复提交
<br /><s:token />标签防止重复提交<br />第一步:在表单中加入<s:token /><s:form action="helloworld_other" method="post" namespace="/test"> <br /> <s:textfield name="person.name"/><s:token/><s:submit/> <br /> </s:form> <br />第二步:Xml代码 <action name="helloworld_*" class="cn.it转载 2010-12-25 12:58:00 · 573 阅读 · 0 评论 -
防止表单重复提交的几种方法(转)
<br />防止表单重复提交的几种方法<br />在使用action处理表单(写入数据库操作)的过程,往往会出现重复插入数据库的现像,为防止这一现象的发生,给数据库带来不必要的垃圾数据,对重复提交做一下限制显示有必要. <br />下面提供几种常用的方法. <br />1,页面脚本实现,当提交过一次表单后,将提交按钮变为不可用,就不会再触发写入数据库的操作. <br />2,解发写入数据库操作的action之后,调用formbean中的resetform方法,将form中的数据库清空,当然提交form中数据转载 2010-12-25 12:58:00 · 710 阅读 · 0 评论 -
Struts2中Session的使用方法
<br />在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到<br />1.通过ActionContext class中的方法getSession得到<br />2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作<br /><br />一、package s2.ex.action; <br /> import java.util.Map; <br /> i转载 2010-12-25 12:42:00 · 1182 阅读 · 0 评论 -
传智Struts2笔记(8)接收请求参数
<br />接收请求参数<br /><br />1.采用基本类型接收请求参数(get/post)<br />在Action类中定义与请求参数同名的属性,struts2便能自动接收请求参数并赋予给同名属性。 <br />请求路径: http://localhost:8080/test/view.action?id=78Java代码 public class ProductAction { private Integer id; public void setId(Integer转载 2010-12-25 12:52:00 · 575 阅读 · 0 评论 -
传智Struts2笔记(10)获取request/session/application属性
<br />访问或添加request/session/application属性<br />Java代码 public String scope() throws Exception{ ActionContext ctx = ActionContext.getContext(); ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app ctx.getSession().put("ses", "session转载 2010-12-25 12:53:00 · 498 阅读 · 0 评论 -
Struts2配置详解
总揽 Struts2的配置文件是以XML的形式出现的。不过它的XML的语义比较简单,下面是我抽取了位于struts2-core-2.0.14.jar内部的struts-default.xml的片段: <br /><br />Xml代码 <struts> <bean class="com.opensymphony.xwork2.ObjectFactory" name="xwork" /> <bean type="com.opensymphony.xwork2.ObjectFactory"转载 2010-12-25 13:18:00 · 503 阅读 · 0 评论 -
STRUTS2获得session和request
<br />在struts1中,获得到系统的request或者session对象非常方便,都是按照形参传递的,但是在struts2中,request和session都被隐藏了<br />struts提供两种方式访问session和request,其中比较常用的是利用SPRING里面所说的IOC即控制反转<br />IOC方式:<br />action类实现ServletRequestAware接口,并新建一个HttpServletRequest request<br />public class UserL转载 2010-12-25 12:38:00 · 474 阅读 · 0 评论 -
传智Struts2笔记(三)Action名称的搜索顺序
Action名称的搜索顺序 1.获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action 2.首先寻找namespace为/path1/path2/path3的package,如果不存在这个package则执行步骤3;如果存在这个package,则在这个package中寻找名字为test的action,当在该package下寻找不到action 时就会直接跑到默认namaspace的package里面去寻找转载 2010-12-25 12:45:00 · 389 阅读 · 0 评论 -
传智Struts2笔记(6)指定需要Struts 2处理的请求后缀
<br />1.指定需要Struts 2处理的请求后缀 <br /><br />前面我们都是默认使用.action后缀访问Action。其实默认后缀是可以通过常量”struts.action.extension“进行修改的,例如:我们可以配置Struts 2只处理以.do为后缀的请求路径: <br />Xml代码 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundati转载 2010-12-25 12:50:00 · 435 阅读 · 0 评论 -
传智Struts2笔记(7) Struts2的处理流程
<br />Struts2的处理流程<br /><br />StrutsPrepareAndExecuteFilter是Struts 2框架的核心控制器,它负责拦截由<url-pattern>/*</url-pattern>指定的所有用户请求,当用户请求到达时,该Filter会过滤用户的请求。默认情况下,如果用户请求的路径不带后缀或者后缀以.action结尾,这时请求将被转入Struts 2框架处理,否则Struts 2框架将略过该请求的处理。当请求转入Struts 2框架处理时会先经过一系列的拦截器,然后转载 2010-12-25 12:51:00 · 475 阅读 · 0 评论 -
传智Struts2笔记(10)文件上传
<br />文件上传 <br /><br /><br />第一步:在WEB-INF/lib下加入commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar。这两个文件可以从http://commons.apache.org/下载。<br />第二步:把form表的enctype设置为:“multipart/form-data“,如下:<br /><form enctype="multipart/form-data" action="${pageContext.requ转载 2010-12-25 12:54:00 · 486 阅读 · 0 评论 -
关于struts.xml中的namespace的一些疑问
<br /> 根据struts reference中所说的<br />Namespaces are not a path!<br /><br />Namespace are not hierarchical like a file system path. There is one namespace level. For example if the URL /barspace/myspace/bar.action is requested, the framework will first lo转载 2010-12-25 13:15:00 · 664 阅读 · 0 评论