ssh小问题
请各位高手帮看一下这个问题如何解决.谢谢了!!
action是这样写的
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.lovo.struts.action;
import java.util.HashMap;
import java.util.List;
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.lovo.bo.UserBo;
import com.lovo.po.UserPo;
import com.lovo.struts.form.RegeditForm;
/**
* MyEclipse Struts
* Creation date: 04-30-2008
*
* XDoclet definition:
* @struts.action validate="true"
*/
public class RegeditAction extends LookupDispatchAction {
/*
* Generated Methods
*/
private UserBo ubo;
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward del(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
RegeditForm rForm = (RegeditForm)form;
System.out.println(这是删除!!!);
return null;
}
public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
RegeditForm rForm = (RegeditForm)form;
String name = rForm.getName();
String sex = rForm.getSex();
int age =rForm.getAge();
String jg = rForm.getJg();
UserPo upo = new UserPo();
upo.setName(name);
upo.setSex(sex);
upo.setAge(age);
upo.setJg(jg);
ubo.addUser(upo);
if(!name.equals("")){
int page = 0;
HttpSession session =request.getSession();
return mapping.findForward("success");
}
return mapping.findForward("falide");
}
public ActionForward userList(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
RegeditForm rForm = (RegeditForm)form;
System.out.println(这是查看!!!);
return null;
}
public ActionForward update(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
RegeditForm rForm = (RegeditForm)form;
UserPo upo = new UserPo();
ubo.update(upo);
return null;
}
protected Map getKeyMethodMap() {
// TODO ?
Map map =new HashMap();
map.put("button.del", "del");
map.put("button.add","add");
map.put("button.userList", "userList");
map.put("button.update","update");
return map;
}
public UserBo getUbo() {
return ubo;
}
public void setUbo(UserBo ubo) {
this.ubo = ubo;
}
}
struts-config.xml关于这部分是这样配的
<form-beans >
<form-bean name="regeditForm" type="com.lovo.struts.form.RegeditForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
attribute="regeditForm"
name="regeditForm"
parameter="method"
path="/regedit"
scope="request"
type="com.lovo.struts.action.RegeditAction">
<forward name="success" path="/success.jsp" />
<forward name="main" path="/main.jsp" />
<forward name="falide" path="/falide.jsp" />
</action>
</action-mappings>
上面只是一部分代码 只是先做一个测试没有写全.我都测试了的没有问题
问题一、
jsp页面我要这样访问到这个RegeditAction这个类的一个方法(如 del 方法)
<a href="regedit.do?">显示</a>
请问?这后面的参数如何跟啊? 要报这样一个错。。
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Action[/regedit] missing resource 'method' in key method map
org.apache.struts.actions.LookupDispatchAction.getLookupMapName(LookupDispatchAction.java:240)
org.apache.struts.actions.LookupDispatchAction.getMethodName(LookupDispatchAction.java:281)
org.apache.struts.actions.LookupDispatchAction.execute(LookupDispatchAction.java:158)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.lovo.filter.CharsetFilter.doFilter(CharsetFilter.java:30)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs.
--------------------------------------------------------------------------------
Apache Tomcat/5.5.15
问题二、
public void delUserPo(UserPo upo){
this.getHibernateTemplate().delete(upo);
}这是传整个对象进行删除,我想按ID进行删除(ssh hibernate交给了spring 管理) 请问怎么办?
为什么这样不的行啊
public void delUserByID(int id){
Session session = this.getSession();
Transaction trans = session.beginTransaction();
String hql="delete from UserPo where id"+id;
session.createQuery(hql);
trans.commit();
session.close();
}
应怎么才能进行ID删除。。。