每种框价都会有国际化的支持,struts2的国际化大致上分为页面的国际化,Action的国际化以及xml的国际化
首先在struts.properties文件中加入以下内容:struts.custom.i18n.resources=messageResource或在struts.xml中加入<constant name="struts.custom.i18n.resources" value="messageResource"></constant>
资源文件的命名格式: 名称_语言代码_国家代码. Properties如果创建中文和 ...
通过继承ActionSupport重写validate()方法,实现数据校验,会存在大量的重复代码,类似于struts1,Struts2也提供通过配置文件来进行数据校验,使用校验框架不必重复的编写校验代码.
Action及jsp可以不用改变
package com;
import java.util.Date;
import com.opensymphony.xwork2.ActionSupport;
public class RegistAction extends ActionSupport {
private String u ...
一. ActionSupport是个工具类,他实现了Action, Validatable等接口, Validatable提供validate()方法进行数据验证.Action只要继承ActionSupport类,重写validate()方法就可以进行数据验证
二. 校验的流程 首先,Struts框价对输入数据进行类型转换,然后再进行数据校验,如果类型转换与数据校验都没有错误发生, 就进入execute(),否则请求将被转发到input视图
三. 注册实例 首先新建RegistAcion.java
&nb ...
我们通过表单输入的数据其实都是一个String,有时需要把这些String转成int date等等Struts1中也提供了类型转换器,比如form中有一个字段age,当我们输入表单时, Struts1的转换器会将这个age字符串转换成Form表单中对应的age数值,Struts2提供了更加强大的类型转换.
实例:提供一个文本框,输入用户名和密码,以”,”号分隔开
首先新建输入页面(input.jsp)
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>< ...
一.理解拦截器
1. 拦截器是在防问某个方法,字段之前或之后实施拦截,并且拦截器是可插拔的,拦截器是AOP的一种实现. 2. 拦截器栈(Interceptor Stack)。拦截器栈就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时, 拦截器链中的拦截器就会按其之前定义的顺序被调用。
二.实现原理 Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实 ...
一.简介Struts2并未提供自己的请求解析器,也就是就Struts2不会自己去处理multipart/form-data的请求,它需要调用其他请求解析器,将HTTP请求中的表单域解析出来。但Struts2在原有的上传解析器基础上做了进一步封装,更进一步简化了文件上传。Struts2默认使用的是Jakarta的Common-FileUpload框架来上传文件,因此,要在web应用中增加两个Jar文件:commons-fileupload-1.2.jar和commons-io-1.3.1.jar。它在原上传框架上做了进一步封装,简化了文件上传的代码实现,取消了不同上传框架上的编程差异。如果要改成 ...
异常处理后,能够提供友好的用户界面,而不是一些错误的代码信息. 利用struts2的异常处理机制可以很方便的实现异常处理,你不再需要在Action中捕获异常,并抛出相关的异常了,这些都交给拦截器来帮你做了。在struts-default.xml中己经设置了拦截器,因此我们可以直接使用声明式异常.struts2-default-xml声明的拦截器如下: <interceptors>
<interceptor name="exception"
class="com.opensymphony.xwork.interceptor.Exc ...
一. 动态方法调用一个Action包含多个业务处理功能,根据用户请求表单的不同,调用不同的方法,与struts1的DispatchAction相似. 首先要设置: struts.enable.DynamicMethodInvocation=true 设置支持动态方法调用,默认为true,可以不用设 Action与配置不变: public class LogonAction {
private String userName;
private String userPwd;
public String getUserName() {
retur ...
1.Struts2的Action可以不需实现任何接口或继承任何类,就是一个包含了execute()方法的POJO,下面是一个简单的Action的实现 package com;
import com.opensymphony.xwork2.ActionContext;
public class LogonAction {
private String userName;
private String userPwd;
public String getUserName() {
return userName;
}
public void setUser ...
- 浏览: 35205 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
struts2 的国际化支持
...
-- by w3cw3c -
C# 加密 java解密 (DES)
对中文加密解密不行啊
-- by fxdfxd -
Hibernate Annotation(三 ...
博主,我看到你导入的注解类是javax.persistence.*; 怎么 ...
-- by flyinglife -
Hibernate Annotation(三 ...
谢谢博主,写的非常之好
-- by flyinglife -
struts2 文件上传
byte[] buffer = new byte[1024*10]; ...
-- by shoru






评论排行榜