<?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");
}
}
first=only number
second=not zero
资源文件内容,
error.add("num1", new ActionMessage("first"));
这段代码传的参数first要与资源文件的属性相对应
在MessageAction中,判断错误,判断第二个的时候,第二个数一是不能为零,其次是必须是数字,所以有两个错误,
ActionMessages是一个错误的类,newActionMessage是作为这个类的一个对象传给ActionMessage一个对象,然后ActionMessage作为一个对象在把这个错误传给错误类
在此例子中,是判断第一个数不许是数字,第二数,除数是不能为零
在最后调用父类的save方法保存,this.save或者super.save