从拿想第一本关于Struts的指导教材到现在,己经有一个星期的时间了,在这期间,更多的是贪玩,真正用在Struts上的时间不是太多,这两天来了个突击,仔细的看了看,发现好像找到了一点感觉,好像就快要掌握到Struts的精髓了,这种感觉在我接触其它语言时都曾有过!
可是一写起程序来,这么一点感觉又被一些莫名其妙的问题排挤的无处藏身!
尝试了一下ActionForm的子类——DynaActionForm,很奇怪,或许仅仅是因为自己还没完全弄明白Struts!
DynaFormAction:
public class DynaFormAction extends Action{
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletResponse response,
HttpServletRequest request)
{
DynaActionForm dynaForm=(DynaActionForm)form;
String firstname=dynaForm.getString("firstname");
String lastname=dynaForm.getString("lastname");
String[] friends=(String[])dynaForm.get("friend");//此处获得三个量,
return mapping.findForward("display");
}
}
DynaActionForm:
<form-bean name="dynaForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="firstname" type="java.lang.String" initial="chen"/>
<form-property name="lastname" type="java.lang.String" initial="ze"/>
<form-property name="friend" type="java.lang.String[]" initial="C,B,A" size="3"/>
</form-bean>
配置文件Action:
<action
attribute="dynaForm"
name="dynaForm"
path="/dForm"
input="/dynaFormInput.jsp"
scope="request"
type="cn.edu.xynu.struts.action.DynaFormAction">
<forward name="display" path="/dynaForm.jsp" />
</action>
这些程序段貌似没啥大问题,但当在form中执行此Action时,却无法实现跳转,更不能获得动态ActionForm的值,不知为何!
更让人郁闷的时,在MyEclipse的配置文件Design编辑模式下,一些Forward线竟然指向窗口左上角,还没搞明白这是为啥!