2017-04-06 101 views
0

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

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

我想给一个变量提交给servlet,我想出了这个:

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

要隐藏“user_emailHidden”补,我做下面的JavaScript:

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

的值被设置为隐藏变量,我测试这

这不起作用。当用户点击这个项目时,如何在提交时包含变量的帮助?

感谢

+0

remove method =“POST” –

+0

感谢您的回答,但我仍然在servlet端获得'null'。 – user3004449

+0

您可以发表Servlet代码吗? –

回答

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; 
}); 
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")); 
} 
+0

感谢您的回答。我认为这与我想达到的不同。我不想获取操作值,我想获取由JavaScript代码设置的_user_emailHidden_​​值。 – user3004449

+0

你给出的解决方案让我思考。我正在这样做'

  • SOME TEXT
  • '。如何通过JavaScript插入_user_emailHidden_​​,其中_test_是? – user3004449