如何将JSP中的页面useBean中的参数传递给Java中的servlet?我有一些表单中的数据通过提交按钮没有问题,但没有办法发送任何其他内容。请帮忙?这是我的代码:

<input name = "deleteGameButton" type = "submit" value = "Delete"
 onclick = "submitToServlet('DeleteGameServlet');">

以下是相应的javascript:

 function submitToServlet(newAction)
 {
   document.userGameForm.action = newAction;
 }

我希望servlet能够访问userBean

 <jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />
有帮助吗?

解决方案

你这里有点乱。

onclick()是Javascript并在客户端执行。它没有(直接)方式来更新会话范围的bean。该bean留在服务器端,并在HTML页面生成时使用。要将参数传递回servlet,您需要使用好的旧表单字段,然后提交表单。

向表单添加更多字段,在提交前设置其值,然后提交。

在Servlet中调用request.getParameter(<!> quot; name <!> quot;);

P.S。要使这种事情自动化 USE STRUTS 。 :-) Struts完全符合你的要求:在将参数传递给action之前,它会使用这些参数填充bean。透明。

其他提示

这完全取决于你想要做什么。

<jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />

标签将允许您在jsp中使用会话的userBean属性。如果会话中没有userBean属性,它将创建一个新属性(使用org.project.User的默认构造函数)并将其放在会话中。

然后,当您到达servlet时,可以使用以下命令检索它:

User user = (User)request.getSession().getAttribute("userBean");
 getServletConfig().getServletContext().getRequestDispatcher("servlet path & name");         
 dispatcher.forward (request, response);

您可以尝试下一个标记:

<jsp:useBean id = "userBean" scope = "session" class = "org.project.User"/>
 <jsp:setProperty name="beanName" property="propertyname" value="value"/>
</jsp:useBean>

更多此处

祝你好运!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top