struts-config.xml--------采用动态DynaActionform的方法,可以免去自写ActionForm-bean类
/**
*动态DynaActionform设置配置
*
**/
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean
name="inputForm"
type="org.apache.struts.action.DynaActionForm">
<form-property name="number1" type="java.lang.Double"></form-property>
<form-property name="count" type="java.lang.String"></form-property>
<form-property name="number2" type="java.lang.Double"></form-property>
<!-- name=必须与表单名称相对应-->
</form-bean>
</form-beans>
<action-mappings>
<action
path="/Calculator"
type="simplecalculator.CalculatorAction"
name="inputForm"
scope="request"
>
<forward name="success" path="/success.jsp"/>
<forward name="fail" path="/fail.jsp"/>
</action>
</action-mappings>
</struts-config>
/**
*Action类的实现
*
**/
public class CalculatorAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
DynaActionForm daf=(DynaActionForm) form;
//采用动态的DynaActionForm方法可以免去自写静态ActionForm类
Double x=(Double) daf.get("number1");
String count=(String)daf.getString("count");
Double y=(Double)daf.get("number2");
double result=0;
--------------------------------------------------------------------------------------------
struts-config.xml的设置文件(普通方法)
/**
*自创建ActionForm类
*设置方法
**/
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean
name="inputForm"
type="simplecalculator.calculatorActionForm"/>
</form-beans>
<action-mappings>
<action
path="/Calculator"
type="simplecalculator.CalculatorAction"
name="inputForm"
scope="request"
>
<forward name="success" path="/success.jsp"/>
<forward name="fail" path="/fail.jsp"/>
</action>
</action-mappings>
</struts-config>
---------------------------------------------------------------------
动态DynaActionForm输出简化可以直接采用JSEL表达式直接获取输出:
验证方面一般结合动态验证.因为没有自写ACTIONFORM就不能对验证自写了
语法格式:对应:
动态:---$ { 对应config.xml文件中的form-bean 中的name . map . 属性名 }
静态:---$ { 对应config.xml文件中的form-bean 中的name . 属性名 }
例如:
动态:
-----
数字1: ${inputForm.map.number1 }<br>
符号: ${inputForm.map.count}<br>
数字2: ${inputForm.map.number2 }<br>
------------------------------
静态:
-----
数字1: ${inputForm.number1 }<br>
符号: ${inputForm.count}<br>
数字2: ${inputForm.number2 }<br>