将变量从jsp页面传递给servlet

时间:2017-04-06 07:35:21

标签: javascript java html

如果用户点击以下内容,他将通过servlet发送到另一个页面。

<li><a method="POST" href="ToolServlet?action=goToUserRolesOverview">SOME TEXT</a></li>

我想将一个带有submit的变量发送给servlet,我想出了这个:

<li><a method="POST" href="ToolServlet?action=goToUserRolesOverview">SOME TEXT<input type="hidden" name="user_emailHidden" id="user_emailHidden" /></a></li>

要填写隐藏的&#39; user_emailHidden&#39;,请执行以下JavaScript:

console.log("user_email: " + params.user_email); /*Testing only: it works */
document.getElementById("user_emailHidden").value = params.user_email;

该值设置为隐藏变量,我用以下方法测试:

console.log("user_email test: " + document.getElementById("user_emailHidden").value);

这不起作用。有关如何在用户点击此项目时将变量包含在提交中的任何帮助吗?

由于

2 个答案:

答案 0 :(得分:1)

  

这种方式将带有url的变量发送到servlet。

<强>的javaScript

<script type="text/javascript">
function navigate() {
    var userEmail = document.getElementById('user_emailHidden').value;
    window.location = '${pageContext.servletContext.contextPath}/ToolServlet?id='
            + userEmail;
}</script>

<强> HREF

<a href="" onclick="return navigate();">SOME TEXT</a> <input
        type="hidden" name="user_emailHidden" id="user_emailHidden"
        value="123546" /></a>

<强>的Servlet

@RequestMapping(value = "/ToolServlet")
public void getEmailId(HttpServletRequest request) {
    System.out.println(request.getParameter("id"));
}

答案 1 :(得分:1)

找到解决方案。

对于链接,我将带有url的变量发送到servlet,如下所示:

<li id="insertUserEmail"><a href="ToolServlet?action=goToUserRolesOverview&user_emailHidden=">SOME TEXT</a></li>

用户电子邮件添加到 href 的末尾:

$('#insertUserEmail a').attr('href',function(i,str) {
    return str + params.user_email;
});