1

如何将 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" />
4

4 回答 4

4

你这里有点乱。

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

在表单中添加更多字段,在提交之前设置它们的值,然后提交。

在 Servlet 中调用 request.getParameter("name");

PS 要使此类事情自动化,请使用 STRUTS。:-) Struts 完全符合您的要求:在将参数传递给操作之前,它使用这些参数填充 bean。透明地。

于 2008-10-24T15:56:03.730 回答
2

这完全取决于您要做什么。这

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

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

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

User user = (User)request.getSession().getAttribute("userBean");
于 2008-10-24T18:46:51.480 回答
1
 getServletConfig().getServletContext().getRequestDispatcher("servlet path & name");         
 dispatcher.forward (request, response);
于 2011-03-17T09:29:35.790 回答
0

嗨尝试下一个标签:

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

更多在这里

祝你好运!

于 2008-10-24T15:56:15.477 回答