前台代码:
<html:form action="/testAction.do" method="post">
.........
<html:submit property="action" value="增加">
<bean:message key="button.add"/></html:submit>
<div align="center"></div></td>
<td height="25"><div align="center">
<html:submit property="action" value="修改">
<bean:message key="button.updata"/></html:submit>
</div></td>testAction的代码:package ems.struts;import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.LookupDispatchAction;public class testAction extends LookupDispatchAction {
protected Map getKeyMethodMap()
{
HashMap map=new HashMap();
map.put("button.add","add");//button.delete,按钮的 message key
map.put("button.update", "update");
return map; }
public ActionForward add(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
System.out.println("add");
return null;
}
public ActionForward update(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
System.out.println("updata");
return null;
}
}
配置文件 :::的代码:
<action parameter="action" path="/testAction" type="ems.struts.testAction">
<forward name="plan_eng_reg" path="/Basic_Data/plan_eng_reg.jsp" />在资源文件ApplicationResources.properties中
button.add=add
button.updata=updata在运行时出现如下错误!javax.servlet.jsp.JspException: Cannot retrieve definition for form bean null on action /testAction.do
at org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:731)
at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:419)
at jsp_servlet._basic_data.__plan_eng_reg._jspService(__plan_eng_reg.java:305)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
<html:form action="/testAction.do" method="post">
.........
<html:submit property="action" value="增加">
<bean:message key="button.add"/></html:submit>
<div align="center"></div></td>
<td height="25"><div align="center">
<html:submit property="action" value="修改">
<bean:message key="button.updata"/></html:submit>
</div></td>testAction的代码:package ems.struts;import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.LookupDispatchAction;public class testAction extends LookupDispatchAction {
protected Map getKeyMethodMap()
{
HashMap map=new HashMap();
map.put("button.add","add");//button.delete,按钮的 message key
map.put("button.update", "update");
return map; }
public ActionForward add(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
System.out.println("add");
return null;
}
public ActionForward update(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
{
System.out.println("updata");
return null;
}
}
配置文件 :::的代码:
<action parameter="action" path="/testAction" type="ems.struts.testAction">
<forward name="plan_eng_reg" path="/Basic_Data/plan_eng_reg.jsp" />在资源文件ApplicationResources.properties中
button.add=add
button.updata=updata在运行时出现如下错误!javax.servlet.jsp.JspException: Cannot retrieve definition for form bean null on action /testAction.do
at org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:731)
at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:419)
at jsp_servlet._basic_data.__plan_eng_reg._jspService(__plan_eng_reg.java:305)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
解决方案 »
- SSH整合开发的时候 好像出了个单元测试错误,求救,表都创建不出来,求大神!!!
- spring+hibernate整合出现问题。
- 提交表单信息时老是报这个错,请问是怎么回事啊?
- 请教:怎样实现对wml的解析
- byte[]在jsp页面显示图片问题
- java获得鼠标位置(窗体之外)
- mozilla 中浏览不到<OBJECT id=HTML data=editor/editor.html width=500 height=450 type=text/x-scriptlet></object>的内容
- java实现百度文库
- 连接db2,如何向其写入中文?
- ibatis 使用case时中文变[B@2429de03]
- 100 分 求 提高访问速度 根据动态的页面 生成静态页面 不够再补
- 怎么生成不了pdf文档??
at org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:731)
at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:419)
at jsp_servlet._basic_data.__plan_eng_reg._jspService(__plan_eng_reg.java:305)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
<form-bean name="testForm" type="xxx">
<form-property name="" type=""/>
</form-bean><action
name="testForm"
path="/testAction"
type="ems.struts.testAction"
parameter="action">
<forward name="plan_eng_reg" path="/Basic_Data/plan_eng_reg.jsp" />
</action>
docment.forms[0].submit();
javax.servlet.jsp.JspException: Cannot retrieve definition for form bean null on action /testAction.do
at org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:731)
at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:419)
at jsp_servlet._basic_data.__plan_eng_reg._jspService(__plan_eng_reg.java:305)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
myForm.action = "****.do?action=edit";
myForm.submit();
}
function doadd(){
myForm.action = "****.do?action=add";
myForm.submit();
}
<html:form action="****.do">
<html:button property="button" onclick="doedit()">
修改
</html:button>
<html:button property="button" onclick="doadd()">
增加</html:button>
</html:form>
注意Js中Form名称与你的****.do对应的actionForm一致
<action parameter="action" path="/testAction" type="ems.struts.testAction">
<forward name="plan_eng_reg" path="/Basic_Data/plan_eng_reg.jsp" />
改为:
<action parameter="action" path="/testAction" name="testActionForm" type="ems.struts.testAction">
<forward name="plan_eng_reg" path="/Basic_Data/plan_eng_reg.jsp" />