反编译一下RequsetProcessor吧,这个东西是生成actionform的。你看一下里面是如何根据配置创建动态form的。里面使用了大量的反射和包装类,就看你的造化了。
解决方案 »
- 求一条HQL语句```
- myeclipse jsp页面乱码问题
- Struts2_Action怎么读取上传文件的相关信息
- Struts2的问题 (Struts.xml配置)
- 关于结果集rs的一些问题,请教大侠们
- java mail 发送邮件
- myecipse导入dll
- 写了一个SendMail.java,调用却出了问题,各位帮忙啊!
- 小弟最近买了一本j2ee的书,里面是用WebLogic Server 6.0SP2讲的.我现在下载不到6.0with sp2了,谁知道哪儿可以下载?
- 寻找j2ee相关的中英文对照翻译文献,请help,多谢!
- 求助:那位大哥手头有学习java的电子资料?在线等!
- 有没有这样一种Java参考资料?
我一直没有比较详细的研究,现在我如果用RequsetProcessor的话,会不会对整体的struts 的运行
造成什么影响。
最好能有个例子,我现在实在是没有时间去看源代码,我手里还有很多详细设计书没有写呢。
郁闷啊。
因为现在我们的开发是基于别人的一套框架进行的,如果没有办法更改啊。
2、你定义的两个form可以合并成一个form!没有必要分成两个form!
法2,在当初配置文件里定义form的时候,直接把那两个form合成一个。
会发现你需要把很多画面的值都放到一个Form里,这样的话Form会越来越大。
现在就是如何新建一个Bean,但是DynaActionForm是struts框架给生成的,
不象我们自己写的继承ActionForm的Form可一new 出来。
所以现在新建一个bean就比较麻烦啊。
serf() ,RequsetProcessor我这几天也看了,但是没有详细研究,
我感觉用RequsetProcessor,需要自己解析struts-config.xml的文档。
serf能不能帮忙弄一下,实在感谢。
ActionForm instance = null;
FormBeanConfig config=null;
config=getServlet().getModuleConfig(request) ;
instance = config.createActionForm(getServlet());其中config.createActionForm(getServlet())函数的原型如下,可看出也可以用getDynaActionFormClass().newInstance()方法建立一个DynaActionForm实例。可用DynaBean的方法对DynaActionForm实例进行操作。public ActionForm createActionForm(ActionServlet servlet)
throws IllegalAccessException, InstantiationException { Object obj = null; // Create a new form bean instance
if (getDynamic()) {
obj = getDynaActionFormClass().newInstance();
} else {
obj = formBeanClass().newInstance();
} ActionForm form = null;
if (obj instanceof ActionForm) {
form = (ActionForm)obj;
} else {
form = new BeanValidatorForm(obj);
} form.setServlet(servlet); if (form instanceof DynaBean &&
((DynaBean)form).getDynaClass() instanceof MutableDynaClass) {
DynaBean dynaBean = (DynaBean)form;
MutableDynaClass dynaClass = (MutableDynaClass)dynaBean.getDynaClass(); // Add properties
dynaClass.setRestricted(false);
FormPropertyConfig props[] = findFormPropertyConfigs();
for (int i = 0; i < props.length; i++) {
dynaClass.add(props[i].getName(), props[i].getTypeClass());
dynaBean.set(props[i].getName(), props[i].initial());
}
dynaClass.setRestricted(isRestricted()); } return form; }