struts1i18n

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

 

<struts-config>

  <data-sources />

  <form-beans>

   <form-bean name="form2" type="i18n.MessageForm"></form-bean>

  </form-beans>

  <global-exceptions />

  <global-forwards />

  <action-mappings>

<action name="form2" path="/message" type="i18n.MessageAction"

scope="request" attribute="message">

<forward name="message" path="/i18n/message.jsp"></forward>

</action>

  </action-mappings>

  <message-resources parameter="i18n.test" />

  <message-resources parameter="i18n.message"/>

</struts-config>

----------------------------------------------------------------------------------------------------------------------------------------------------------

 

package i18n;

 

import org.apache.struts.action.ActionForm;

 

public class MessageForm extends ActionForm{

private int first=0;

private int second=0;

private int result=0;

public int getFirst() {

return first;

}

public void setFirst(int first) {

this.first = first;

}

public int getSecond() {

return second;

}

public void setSecond(int second) {

this.second = second;

}

public int getResult() {

return result;

}

public void setResult(int result) {

this.result = result;

}

}

 

 


 

package i18n;

 

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionMessage;

import org.apache.struts.action.ActionMessages;

 

public class MessageAction extends Action{

 

@Override

public ActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

throws Exception {

// TODO Auto-generated method stub

ActionMessages error=new ActionMessages();

MessageForm mf=(MessageForm)form;

//int num1=mf.getFirst();

String num1=request.getParameter("first");

try{

Integer.parseInt(num1);

}catch(Exception e){

error.add("num1", new ActionMessage("first"));

//this.saveErrors(request, error);

}

String num2=request.getParameter("second");

try{

Integer.parseInt(num2);

}catch(Exception e){

error.add("num2",new ActionMessage("first"));

//this.saveErrors(request, error);

}

if(num2.equals("0")){

error.add("num3",new ActionMessage("second"));

}

this.saveErrors(request, error);

int result=mf.getFirst()/mf.getSecond();

mf.setResult(result);

return mapping.findForward("message");

}

}

 


<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>  
    <title>My JSP 'message.jsp' starting page</title>
  </head>
  <body>
  <html:form action="message" method="post">
    第一个数:<html:text property="first"></html:text><html:errors property="num1" /> <br>
    第二个数:<html:text property="second"></html:text><html:errors property="num2"/>
                                                                    <html:errors property="num3"/><br>
            <html:submit value="/"></html:submit>
   </html:form>
     
  first:${requestScope.message.first }<br>
  second:${requestScope.message.second }<br>
  result:${requestScope.message.result }   
  </body>
</html>

first=only number

second=not zero

资源文件内容,

error.add("num1", new ActionMessage("first"));

这段代码传的参数first要与资源文件的属性相对应

在MessageAction中,判断错误,判断第二个的时候,第二个数一是不能为零,其次是必须是数字,所以有两个错误,

ActionMessages是一个错误的类,newActionMessage是作为这个类的一个对象传给ActionMessage一个对象,然后ActionMessage作为一个对象在把这个错误传给错误类

在此例子中,是判断第一个数不许是数字,第二数,除数是不能为零

在最后调用父类的save方法保存,this.save或者super.save

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值