Struts的表单验证中

 
在eclipse中首先我们可以直接生成一个ActionForm,Action和JSP,所谓的MVC的架势就摆开了。
在ActionForm中除了设置通常的get,set方法外,有一个方法是用来写表单的验证规则的,这个方法就是 validate 在validate中加载错误会用到ActionErrors和ActionError两个类:
ActionErrors errors = new ActionErrors();
errors.add(“字段名”,new ActionError(“错误信息字符串”));
错误信息字符串 是写在ApplicationResources.properties中,当然你会发现该文件不支持中文信息,这是你就需要安装一个插件,该插件的地址是
 
       在验证成功后提交时,你会发现中文显示成了乱码,这时需要自己编写一个类来处理中文乱码问题,我将这个类取名叫SelfRequestProcessor,他必须继承struts中的 RequestProcessor ,同时覆盖 processPreprocess 方法。这样的类我们可以当他是搞定乱码的工具,值得收藏。完整代码如下:
package com.wish.struts.action;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.RequestProcessor;
 
public class SelfRequestProcessor extends RequestProcessor{
    public SelfRequestProcessor() {   
    }  
    protected boolean processPreprocess(HttpServletRequest request, HttpServletResponse response) {     
       try {
           request.setCharacterEncoding("gb2312");
       } catch (UnsupportedEncodingException e) {      
           e.printStackTrace();
       }
       return true;
    }
}
很多时候,我们会忘记在 struts-config.xml 中配置他的路径,所以导致没有起到任何效果。正确的配置方法是在 <action-mappings> 元素后面配置如下代码 :
<controller processorClass="com.wish.struts.action.SelfRequestProcessor" />
在这里的 com.wish.struts.action 是指向 SelfRequestProcessor 的路径。
     显示注册信息的时候,我采用了 JSTL 语言。首先要在 JSP 页的头部加上
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
     然后就是在 jsp <%@ page language="java" pageEncoding="GBK"%> 中加上 isELIgnored ="true" ,这样才能支持 JSTL 语言。最后就可以使用 <c:out> 标签进行输出了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值