struts中如何区分2个按钮哪个被按下? 1.action必须继承dispatchaction.2.struts-config中对应的action中添加premeter属性 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是action:import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.LookupDispatchAction;import com.dl.db.DbWrapper;import com.dl.db.UserInfor;import com.dl.struts.form.UserForm;import com.dl.struts.form.sysadmin.MenuadminForm;/** * MyEclipse Struts Creation date: 12-20-2004 * * XDoclet definition: * * @struts:action path="/menuadmin2" name="menuadmin2Form" scope="request" */public class Menuadmin2Action extends LookupDispatchAction { /* * (非 Javadoc) * * @see org.apache.struts.actions.LookupDispatchAction#getKeyMethodMap() */ protected Map getKeyMethodMap() { Map map = new HashMap(); map.put("button.submit.add", "add"); map.put("button.submit.edit", "edit"); map.put("button.submit.delete", "delete"); return map; } // --------------------------------------------------------- Instance // Variables // --------------------------------------------------------- Methods /* * (非 Javadoc) * * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, * org.apache.struts.action.ActionForm, * javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) */ public ActionForward add(ActionMapping mapping, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3) throws Exception { MenuadminForm mf = (MenuadminForm) arg1; if (DbWrapper.ds == null) { DbWrapper.ds = getDataSource(arg2); } String sql = "SELECT ID FROM MENUB WHERE ID<900 ORDER BY ID DESC"; ArrayList alid = new ArrayList(); try { alid = DbWrapper.executeQuery(sql); java.util.Map map = (java.util.Map) alid.get(0); int id = Integer.parseInt((map.get("ID") == null ? "" : map.get( "ID").toString())); id++; sql = "INSERT INTO MENUB (ID,PID,NAME,URL," + "TITLE,TARGET,ICON,ICONOPEN,OPEN,RESOURCEID) " + "VALUES (" + id + "," + mf.getNameid() + ",'" + mf.getName() + "','" + mf.getUrl() + "','" + mf.getTitle() + "','" + mf.getTarget() + "','" + mf.getIcon() + "','" + mf.getIconopen() + "','" + mf.getOpen() + "','" + mf.getResourceid() + "')"; DbWrapper.executeUpdate(sql); } catch (Exception e) { System.out.println(e); } upSession(arg2); return mapping.findForward("error"); } public ActionForward edit(ActionMapping mapping, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3) throws Exception { MenuadminForm mf = (MenuadminForm) arg1; if (DbWrapper.ds == null) { DbWrapper.ds = getDataSource(arg2); } String sql = "update TESTUSER.MENUB set ID=" + Integer.parseInt(mf.getId()) + ",PID=" + Integer.parseInt(mf.getPid()) + ",NAME='" + mf.getName() + "',URL='" + mf.getUrl() + "',TITLE='" + mf.getTitle() + "',TARGET='" + mf.getTarget() + "',ICON='" + mf.getIcon() + "',ICONOPEN='" + mf.getIconopen() + "',OPEN='" + mf.getOpen() + "',RESOURCEID='" + mf.getResourceid() + "' WHERE ID=" + Integer.parseInt(mf.getId()) + ""; try { int i = DbWrapper.executeUpdate(sql); } catch (Exception e) { System.out.println(e); return mapping.findForward("error"); } upSession(arg2); return mapping.findForward("error"); } public ActionForward delete(ActionMapping mapping, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3) throws Exception { MenuadminForm mf = (MenuadminForm) arg1; if (DbWrapper.ds == null) { DbWrapper.ds = getDataSource(arg2); } String sql="DELETE FROM TESTUSER.MENUB WHERE ID="+mf.getNameid(); try { int i = DbWrapper.executeUpdate(sql); } catch (Exception e) { System.out.println(e); return mapping.findForward("error"); } upSession(arg2); return mapping.findForward("error"); } // 更新会话 private void upSession(HttpServletRequest request) { UserInfor ui = new UserInfor(); ui.logonValidate(getDataSource(request), request.getSession(), (UserForm) request.getSession().getAttribute("userForm")); }} 这是jsp: <html:submit property="act"> <bean:message key="button.submit.add" /> </html:submit> <html:submit property="act"> <bean:message key="button.submit.edit" /> </html:submit> <html:submit property="act"> <bean:message key="button.submit.delete" /> </html:submit>这是资源文件:button.submit.add=Addbutton.submit.edit=Editbutton.submit.delete=Delete 楼上: 我想应该在struts-config.xml文件里做个说明吧,要不然actionservlet怎么知道你的那个标签(是delete,还是add)都不知道.所以我想应该有个说明.不知道说的对不对. [转帖]请问LookupDispatchAction类是不是不支持中文信息啊?--zhangbo198294 (小波):http://www.javawebstudio.com/bbs/dispbbs.asp?BoardID=44&replyID=712&id=267&skin=0 js最简单了,强烈支持. 比如在actionFrom 里面增加一个property,页面上用hidden, <html:submit onClick="...." />............... lucene搜索返回内容的一个问题 hibernate注解的问题 对象和数据库的操作 hibernate search 保存的问题 使用compass问题 求一个上传照片和显示照片的程序解决方法 getParameter与getAttribute的区别,请详细介绍下 hibernate 的多事务回滚 救命啊,项目连不上oracle 大家来讨论一下各语言(JAVA,C++,C#,VB等)面向对象编程的优缺点 为什么我的tomcat老是启动不起来啊?高手帮忙 struts做真正的项目时view都使用struts-taglib么? 学了很多就是不爱学taglib怎么办?
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.LookupDispatchAction;import com.dl.db.DbWrapper;
import com.dl.db.UserInfor;
import com.dl.struts.form.UserForm;
import com.dl.struts.form.sysadmin.MenuadminForm;/**
* MyEclipse Struts Creation date: 12-20-2004
*
* XDoclet definition:
*
* @struts:action path="/menuadmin2" name="menuadmin2Form" scope="request"
*/
public class Menuadmin2Action extends LookupDispatchAction { /*
* (非 Javadoc)
*
* @see org.apache.struts.actions.LookupDispatchAction#getKeyMethodMap()
*/
protected Map getKeyMethodMap() {
Map map = new HashMap();
map.put("button.submit.add", "add");
map.put("button.submit.edit", "edit");
map.put("button.submit.delete", "delete");
return map;
} // --------------------------------------------------------- Instance
// Variables // --------------------------------------------------------- Methods /*
* (非 Javadoc)
*
* @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping,
* org.apache.struts.action.ActionForm,
* javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse)
*/
public ActionForward add(ActionMapping mapping, ActionForm arg1,
HttpServletRequest arg2, HttpServletResponse arg3) throws Exception {
MenuadminForm mf = (MenuadminForm) arg1;
if (DbWrapper.ds == null) {
DbWrapper.ds = getDataSource(arg2);
} String sql = "SELECT ID FROM MENUB WHERE ID<900 ORDER BY ID DESC";
ArrayList alid = new ArrayList();
try {
alid = DbWrapper.executeQuery(sql);
java.util.Map map = (java.util.Map) alid.get(0);
int id = Integer.parseInt((map.get("ID") == null ? "" : map.get(
"ID").toString()));
id++;
sql = "INSERT INTO MENUB (ID,PID,NAME,URL,"
+ "TITLE,TARGET,ICON,ICONOPEN,OPEN,RESOURCEID) "
+ "VALUES (" + id + "," + mf.getNameid() + ",'"
+ mf.getName() + "','" + mf.getUrl() + "','"
+ mf.getTitle() + "','" + mf.getTarget() + "','"
+ mf.getIcon() + "','" + mf.getIconopen() + "','"
+ mf.getOpen() + "','" + mf.getResourceid() + "')";
DbWrapper.executeUpdate(sql);
} catch (Exception e) {
System.out.println(e);
} upSession(arg2); return mapping.findForward("error");
} public ActionForward edit(ActionMapping mapping, ActionForm arg1,
HttpServletRequest arg2, HttpServletResponse arg3) throws Exception {
MenuadminForm mf = (MenuadminForm) arg1;
if (DbWrapper.ds == null) {
DbWrapper.ds = getDataSource(arg2);
}
String sql = "update TESTUSER.MENUB set ID="
+ Integer.parseInt(mf.getId()) + ",PID="
+ Integer.parseInt(mf.getPid()) + ",NAME='" + mf.getName()
+ "',URL='" + mf.getUrl() + "',TITLE='" + mf.getTitle()
+ "',TARGET='" + mf.getTarget() + "',ICON='" + mf.getIcon()
+ "',ICONOPEN='" + mf.getIconopen() + "',OPEN='" + mf.getOpen()
+ "',RESOURCEID='" + mf.getResourceid() + "' WHERE ID="
+ Integer.parseInt(mf.getId()) + ""; try {
int i = DbWrapper.executeUpdate(sql);
} catch (Exception e) {
System.out.println(e);
return mapping.findForward("error");
}
upSession(arg2); return mapping.findForward("error");
} public ActionForward delete(ActionMapping mapping, ActionForm arg1,
HttpServletRequest arg2, HttpServletResponse arg3) throws Exception {
MenuadminForm mf = (MenuadminForm) arg1;
if (DbWrapper.ds == null) {
DbWrapper.ds = getDataSource(arg2);
}
String sql="DELETE FROM TESTUSER.MENUB WHERE ID="+mf.getNameid();
try {
int i = DbWrapper.executeUpdate(sql);
} catch (Exception e) {
System.out.println(e);
return mapping.findForward("error");
}
upSession(arg2);
return mapping.findForward("error");
} // 更新会话
private void upSession(HttpServletRequest request) {
UserInfor ui = new UserInfor();
ui.logonValidate(getDataSource(request), request.getSession(),
(UserForm) request.getSession().getAttribute("userForm")); }
}
<html:submit property="act">
<bean:message key="button.submit.add" />
</html:submit>
<html:submit property="act">
<bean:message key="button.submit.edit" />
</html:submit>
<html:submit property="act">
<bean:message key="button.submit.delete" />
</html:submit>这是资源文件:
button.submit.add=Add
button.submit.edit=Edit
button.submit.delete=Delete
我想应该在struts-config.xml文件里做个说明吧,要不然actionservlet怎么知道你的那个标签(是delete,还是add)都不知道.
所以我想
应该有个说明.
不知道说的对不对.