- 浏览: 110427 次
- 性别:
- 来自: 杭州
最新评论
-
dream_h:
新手 学习了
java 使用jdbc调用 oracle 存储过程 -
dream_h:
[flash=200,200][url][img][list] ...
java 使用jdbc调用 oracle 存储过程 -
brucewuzhao:
请问楼主,用post方法提交要是传2个参数应该怎么写?
HttpURLConnection发起GET和POST两种方式 -
科比积木:
受教了,多谢分享
JAVA获得客户端IP两种方法 -
科比积木:
将字符串信息转换为json格式,返回前台js中
struts2如何返回String
文章列表
前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题, 所以今天我们就来讨论一下这个问题。
实现原理
Struts 2是通过Commons FileUpload文件上传。Commons FileUpload通过将HTTP的数据保存到临时文件夹,然后Struts使用fileUpload拦截器将文件绑定到Action的实例中。从而我们就能够以本地文件方式的操作浏览器上传的文件。
具体实现
前段时间Apache发布了Struts 2.0.6 GA,所以本文的实现是以该版本的Struts作为框架的。以下是例子所依赖类包的列表:
清单1 依赖类包的列表
首先,创建文件上传页面 ...
- 2009-08-25 22:13
- 浏览 909
- 评论(0)
在开发openjweb平台期间遇到这样一个问题,在编辑页面中,状态位字段是由系统设置的,不应该由人工设置,所以状态位字段
应该显示出来但不允许被编辑,使用struts2的<s:select>标签不具有disabled属性,除非将theme设置为simple才可以使用disabled,那么如果不使用simple的theme还有其他办法使select下拉框只读吗?从网上找到了一个办法,大致的思路就是
不让下拉框获得焦点,见下面的html代码:
<span onmousemove="this.setCapture();" onmouseout=" ...
- 2009-08-25 22:01
- 浏览 4899
- 评论(2)
spring对其管理的bean的属性注入方式有两种,构造器注入和setter注入。
1 构造器注入
构造器参数解析根据参数类型进行匹配,如果bean的构造器参数类型定义非常明确,那么在bean被实例化的时候,bean定义中构造器参数的定义顺序就是这些参数的顺序,依次进行匹配,比如下面的代码
package x.y;
public class Foo {
public Foo(Bar bar, Baz baz) {
// ...
}
}
上述例子中由于构造参数非常明确(这里我们假定 Bar和 Baz之间不存在继承关系)。因此下面的配置即使没有明确指定 ...
- 2009-08-25 22:00
- 浏览 1227
- 评论(0)
假设有一个web应用,就是简单的有一个简单的登陆页面和登陆成功页面。但是登陆成功页面只允许已经登陆的用户看到。在一个项目中,会有许多这种页面,只允许登陆之后的用户才能访问,如果在每个action中都写上检验用户是否已登陆将会编写大量的重复代码,所以可以定义一个拦截器用来验证用户是否已经登陆成功(通过检验sesison中user的值,前提是每个页面都通过一个action链接)
下面是定义一个拦截器类的方法
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.intercept ...
- 2009-08-25 21:55
- 浏览 1091
- 评论(0)
struts2进行异常处理首先需要添加exception拦截器,而默认拦截器栈已经加入了这个拦截器,所以不用特意的声明。struts2的异常映射声明有两种,全局声明和局部声明。
异常映射有两个属性:exception属性指定了异常的类型,result属性指定了发生异常时执行的result。
当一个异常发生时,它会先寻找局部异常映射,未找到则会寻找全局异常映射。若匹配上之后就会根据result属性按照先局部后全局的方式寻找相同名字的的result,然后就像action调用result一样执行对应的result。
注意:当异常发生时,struts2会根据抛出的异常去异常映射文 ...
- 2009-08-25 21:54
- 浏览 941
- 评论(0)
自定义一个拦截器和使用拦截器的方法如下
引用<package name="default" extends="struts-default">
<interceptors>
<interceptor name="timer" class=".."/>
</interceptors>
<action name="login"class="tutuorial.Login">
...
- 2009-08-25 21:49
- 浏览 3490
- 评论(0)
在使用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标签了
- 2009-08-25 21:44
- 浏览 1477
- 评论(0)
div是struts2 ajax中最基础的标签,其他的标签均和div有关系。div的最大的用途就是可以异步的更新div中的内容。这里写一些div基本的应用,其他的等写别的标签的时候再写。通过例子说明
<sx:div href="%{url}">Initial Content</sx:div>
<!--最简单的例子,从指定的url获取信息更新自己的内容-->
<sx:div href="%{url}" delay="2000"/>
& ...
- 2009-08-25 21:43
- 浏览 2595
- 评论(0)
有时候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;
//省 ...
- 2009-08-25 21:42
- 浏览 3340
- 评论(1)
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 ...
- 2009-08-25 21:41
- 浏览 1146
- 评论(0)
在package里有个namespace的属性,它提供了一个逻辑上的命名空间,使用它可以避免action的名字冲突,同时也可以在逻辑上给action分类。namespace的默认值是“”。Struts2支持根命名空间/。如果一个action没指定任何命名空间如直接是moo.action,它则会去根命名空间去寻找。如果一个action在指定的命名空间没被发现时,struts2就会去默认命名空间去寻找。
下面举例子说明
<package name="default">
<action name="foo" class=" ...
- 2009-08-25 21:38
- 浏览 3860
- 评论(0)
action映射是struts2框架的基本工作单元,通常,action配置将一个标识符映射到一个业务逻辑的class,当一个请求同action的名字匹配时,框架通过这种映射决定怎么处理请求。一个通常的action如下
<action name="Logon" class="tutorial.Logon">
<result >welcome.jsp</result>
<result name="input">/Logon.jsp</result>
...
- 2009-08-25 21:36
- 浏览 906
- 评论(0)
在action的指定方法执行完毕后总会返回一个字符串,struts2根据返回的字符串去action的配置中的result去找匹配的名字,根据配置执行下一步的操作。
在ActionSupport基类中定义了五个标准的返回值
String SUCCESS = "success";
String NONE = "none";
String ERROR = "error";
String INPUT = "input";String LOGIN ...
- 2009-08-25 21:24
- 浏览 2922
- 评论(0)
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/>-----如 ...
- 2009-08-25 21:15
- 浏览 950
- 评论(0)