如何将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" />
答案 0 :(得分:4)
你这里有点乱。
onclick()是Javascript并在客户端执行。它没有(直接)方式来更新会话范围的bean。该bean留在服务器端,并在HTML页面生成时使用。要将参数传递回servlet,您需要使用好的旧表单字段,然后提交表单。
向表单添加更多字段,在提交前设置其值,然后提交。
在Servlet中调用request.getParameter(“name”);
P.S。要使这种事情自动化 USE STRUTS 。 :-) Struts完全符合你的要求:在将参数传递给action之前,它会使用这些参数填充bean。透明。
答案 1 :(得分: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");
答案 2 :(得分:1)
getServletConfig().getServletContext().getRequestDispatcher("servlet path & name");
dispatcher.forward (request, response);
答案 3 :(得分:0)
您可以尝试下一个标记:
<jsp:useBean id = "userBean" scope = "session" class = "org.project.User"/>
<jsp:setProperty name="beanName" property="propertyname" value="value"/>
</jsp:useBean>
更多here
祝你好运!