2017-04-06 104 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