《如何在Struts 数据库应用程序中实现记录的删除、更新及链接》
http://javawebstudio.com/html/instance/index.htm
http://javawebstudio.com/html/instance/index.htm
解决方案 »
- spring form:checkboxes itemLabel 多个字段
- 关于hibernate中将父类修改成子类的问题
- 根据表名查询mySql中的字段、类型和字段注释的SQL语句
- 获取存储过程out参数 (数据集类型)
- jdbc连接mysql的方式
- ireport菜单栏中字体列表中的中文字体名怎么都是乱码,
- 再HIBERNATE中使用weblogic中的数据源的时候从JSP页面提交过去后的报错: org.hibernate.hql.ast.HqlToken高分送上
- java中的最短路径问题(矩阵太大怎么办)
- 谁能给我一个有关JTA连接到两种不同数据库上的代码,谢谢!
- weblogic7.0重启后jsp要重新编译过?
- Tomcat下使用jmagick的问题
- JTable 中的 CheckBox 和 RadioButton
在这些action中可以重新定向(同时设置参数,以供以后作判断用)。
输入方法必须带参数 /test.do?method=delect 或者 /test.do?method=update
我在action中写了这样一个方法:private ActionForward addModel(ActionMapping mapping, ActionForm actionForm,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ModelForm modelForm = (ModelForm) actionForm;
Model model = new Model();
model.setModel_code(modelForm.getModel_code());
model.setModel_name(modelForm.getModel_name());
ModelData modelData = new ModelData();
try {
modelData.insertModel(model);
}
catch (SQLException ex) {
}
return mapping.findForward("add_model_success");
}
想在下面的方法中进行判断并转向public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
ActionForward myforward = null;
String myaction = actionMapping.getParameter(); if ("在这里写判断条件,但是怎么写啊???"){
myforward = actionMapping.findForward("add_model_failure");
}
return myforward;
}
看下org.apache.struts.actions.DispatchAction这个类好了/test.do?method=delect 或者 /test.do?method=update就是根据一个传进来的参数的值去调用一个方法.如上假如你根据method的值去掉方法的话,写个
public ActionForward delete(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse)
和
public ActionForward update(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse)
就好了
接着转向getAttribute("add_model_failure")
觉得其他方法不比这个简单(思路)
没有用过
我就是想写这么几个方法
让他返回一个值 作为
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse)
{
ActionForward myforward = null;
String myaction = actionMapping.getParameter(); if ("在这里写判断条件,但是怎么写啊???"){
myforward = actionMapping.findForward("add_model_failure");
}
return myforward;}
的判断依据,可是用什么样的参数和这个return mapping.findForward("add_model_success");进行比较呢?
也就是说如何在if()里面写条件
if("判断条件".equalsIgnoreCase(myaction)){}
也就是在action中实现多次转向
action mapping 的时候加上 parameter 例如:
<action parameter="LIST" name="listTypeForm" scope="request" path="/baseset/productList" type="com.jneolsoft.agent.controller.ProductAction">
<forward name="success" path="/baseset/productList.jsp" />
</action>
<action parameter="ADD" name="productForm" scope="request" path="/baseset/productAdd" type="com.jneolsoft.agent.controller.ProductAction">
<forward name="success" path="/baseset/product.jsp" />
</action>
<action parameter="EDIT" name="productForm" scope="request" path="/baseset/productEdit" type="com.jneolsoft.agent.controller.ProductAction">
<forward name="success" path="/baseset/product.jsp" />
</action>
<action parameter="SAVE" name="productForm" scope="request" path="/baseset/productSave" type="com.jneolsoft.agent.controller.ProductAction">
<forward name="success" path="/baseset/productList.do" />
</action>
<action parameter="DEL" path="/baseset/productDel" type="com.jneolsoft.agent.controller.ProductAction">
<forward name="success" path="/baseset/productList.do" />
</action>ACTION中\:(ProductAction) public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward myforward = null;
String myaction = actionMapping.getParameter(); if (isCancelled(httpServletRequest)) {
return actionMapping.findForward("cancel");
} if ("EDIT".equalsIgnoreCase(myaction)) {
myforward = performEdit(actionMapping, actionForm, httpServletRequest, httpServletResponse);
}
//挨个判断其他的 return myforward;
} protected ActionForward performEdit(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) {
//do someting 调用你的BEAN实现商务逻辑
return ...;//返回一个ActionForward 实例
}
但是 "ADD" 怎么理解啊?
String myaction = actionMapping.getParameter();
取出parameter,即 LIST下面就是根据参数来执行不同的方法。就象上面的那样在ACTION中写出好多不同的方法,然后方法中再去调用BEAN的商务逻辑。
和"ADD"或"EDIT"有什么关系?