`
文章列表
前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题, 所以今天我们就来讨论一下这个问题。 实现原理 Struts 2是通过Commons FileUpload文件上传。Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中。从而我们就能够以本地文件方式的操作浏览器上传的文件。 具体实现 前段时间Apache发布了Struts 2.0.6 GA,所以本文的实现是以该版本的Struts作为框架的。以下是例子所依赖类包的列表:  清单1 依赖类包的列表 首先,创建文件上传页面 ...
在开发openjweb平台期间遇到这样一个问题,在编辑页面中,状态位字段是由系统设置的,不应该由人工设置,所以状态位字段 应该显示出来但不允许被编辑,使用struts2的<s:select>标签不具有disabled属性,除非将theme设置为simple才可以使用disabled,那么如果不使用simple的theme还有其他办法使select下拉框只读吗?从网上找到了一个办法,大致的思路就是 不让下拉框获得焦点,见下面的html代码: <span onmousemove="this.setCapture();" onmouseout=" ...
spring对其管理的bean的属性注入方式有两种,构造器注入和setter注入。 1 构造器注入       构造器参数解析根据参数类型进行匹配,如果bean的构造器参数类型定义非常明确,那么在bean被实例化的时候,bean定义中构造器参数的定义顺序就是这些参数的顺序,依次进行匹配,比如下面的代码 package x.y; public class Foo {     public Foo(Bar bar, Baz baz) {         // ...     } } 上述例子中由于构造参数非常明确(这里我们假定 Bar和 Baz之间不存在继承关系)。因此下面的配置即使没有明确指定 ...
    假设有一个web应用,就是简单的有一个简单的登陆页面和登陆成功页面。但是登陆成功页面只允许已经登陆的用户看到。在一个项目中,会有许多这种页面,只允许登陆之后的用户才能访问,如果在每个action中都写上检验用户是否已登陆将会编写大量的重复代码,所以可以定义一个拦截器用来验证用户是否已经登陆成功(通过检验sesison中user的值,前提是每个页面都通过一个action链接)     下面是定义一个拦截器类的方法 import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.intercept ...
struts2进行异常处理首先需要添加exception拦截器,而默认拦截器栈已经加入了这个拦截器,所以不用特意的声明。struts2的异常映射声明有两种,全局声明和局部声明。     异常映射有两个属性:exception属性指定了异常的类型,result属性指定了发生异常时执行的result。     当一个异常发生时,它会先寻找局部异常映射,未找到则会寻找全局异常映射。若匹配上之后就会根据result属性按照先局部后全局的方式寻找相同名字的的result,然后就像action调用result一样执行对应的result。 注意:当异常发生时,struts2会根据抛出的异常去异常映射文 ...
自定义一个拦截器和使用拦截器的方法如下 引用<package name="default" extends="struts-default">    <interceptors>         <interceptor name="timer" class=".."/>     </interceptors>     <action name="login"class="tutuorial.Login">       ...
在使用ajax标签之前,需要做几个准备工作 1.将struts2-dojo-plugin-2.1.2.jar加入lib中 2.在需要使用标签的jsp文件里写上<%@taglib  prefix="sx" uri="/struts-dojo-tags" %> 3.在<head>标签里写上<sx:head/> 之后我们就可以开始使用struts2的ajax标签了
    div是struts2 ajax中最基础的标签,其他的标签均和div有关系。div的最大的用途就是可以异步的更新div中的内容。这里写一些div基本的应用,其他的等写别的标签的时候再写。通过例子说明     <sx:div href="%{url}">Initial Content</sx:div>     <!--最简单的例子,从指定的url获取信息更新自己的内容-->             <sx:div href="%{url}" delay="2000"/>     & ...
有时候ajax应用只需要服务器返回一个字符串而不是一个jsp页面。可以用如下方法实现。将action的返回类型设为stream,将字符串写入字符串输入流,返回给客户端。示例代码如下 import java.io.InputStream; import java.io.StringBufferInputStream; import com.opensymphony.xwork2.ActionSupport; public class TextResult extends ActionSupport  {     private InputStream inputStream;     //省 ...
struts.properties文件定义了Struts 2框架的大量属性,开发者可以通过改变这些属性来满足应用的需求。 struts.properties文件是一个标准的Properties文件,该文件包含了系列的key-value对象,每个key就是一个Struts 2属性,该key对应的value就是一个Struts 2属性值。struts.properties文件通常放在Web应用的WEB-INF/classes路径下。实际上,只要将该文件放在Web应用的CLASSPATH路径下,Struts 2框架就可以加载该文件。下面我把几个认为平时能用的上的列出来 struts.configu ...
在package里有个namespace的属性,它提供了一个逻辑上的命名空间,使用它可以避免action的名字冲突,同时也可以在逻辑上给action分类。namespace的默认值是“”。Struts2支持根命名空间/。如果一个action没指定任何命名空间如直接是moo.action,它则会去根命名空间去寻找。如果一个action在指定的命名空间没被发现时,struts2就会去默认命名空间去寻找。 下面举例子说明 <package name="default">     <action name="foo" class=" ...
   action映射是struts2框架的基本工作单元,通常,action配置将一个标识符映射到一个业务逻辑的class,当一个请求同action的名字匹配时,框架通过这种映射决定怎么处理请求。一个通常的action如下 <action name="Logon" class="tutorial.Logon">      <result >welcome.jsp</result>       <result name="input">/Logon.jsp</result> ...
在action的指定方法执行完毕后总会返回一个字符串,struts2根据返回的字符串去action的配置中的result去找匹配的名字,根据配置执行下一步的操作。     在ActionSupport基类中定义了五个标准的返回值   String SUCCESS       = "success";   String NONE     = "none";   String ERROR    = "error"; String INPUT    = "input";String LOGIN    ...
struts2.0里的标签没有分类,只用在jsp头文件加上<%@taglib prefix="s" uri="/struts-tags" %>就能使用struts2.0的标签库 A: <s:a href=""></s:a>-----超链接,类似于html里的<a></a> <s:action name=""></s:action>-----执行一个view里面的一个action <s:actionerror/>-----如 ...
Global site tag (gtag.js) - Google Analytics