答案:Struts是一个Web开发框架,是用Struts避免了简单的JSP + Servlet开发过程,维护过程中的一系列问题,但是struts配置文件的编辑始终是一个问题。下面我们使用Xdoclet来自动生成struts配置文件。Xdoclet是一个使用Java代码中的注释来生成接口文件,或者配置文件的开源工具。
所有得Struts的各组件关系如上所示,其中有两个主要类,DispatchAction和DispatchValueBean。DispatchAction从上个页面获得输入,根据输入定位到不同的页面(0定位到dispatch_0.jsp,1定位dispatch_1.jsp)。
可以看看下列代码(只涉及到Xdoclet相关的部分):
//DispatchValueBean.java
/**
*
* @author mazhao
* @struts.form
* name="DispatchValueBean"
*/
public class DispatchValueBean extends org.apache.struts.action.ActionForm {
private String dispatchValue = "0";
public DispatchValueBean () {
}
public String getDispatchValue()
{
return dispatchValue;
}
public void setDispatchValue(String dispatchValue)
{
this.dispatchValue = dispatchValue;
}
}
上述的蓝色代码表示自己是一个FormBean,且FormBean的名字是DispatchValueBean。
//DispatchAction.java
/**
*
* @author mazhao
* @struts.action
* name="DispatchValueBean"
* path="/DispatchAction.do"
* input="/index.jsp"
*
* @struts.action-forward
* name="dispatch_0"
* path="/dispatch_0.jsp"
* redirect="false"
*
* @struts.action-forward
* name="dispatch_1"
* path="/dispatch_1.jsp"
* redirect="false"
*
*/
public class DispatchAction extends org.apache.struts.action.Action {
private String dispatchValue = "0";
public DispatchAction() {
}
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
DispatchValueBean dispatchBean = (DispatchValueBean)form;
String value = dispatchBean.getDispatchValue();
if("0".equals(value))
{
return mapping.findForward("dispatch_0");
}
else
{
return mapping.findForward("dispatch_1");
}
}
public String getDispatchValue()
{
return dispatchValue;
}
public void setDispatchValue(String dispatchValue)
{ <