JavaScript 變數屬於客戶端,JSP 為伺服器端模板,無法直接讀取。需透過 HTTP 請求(表單提交、AJAX、URL 參數)將值傳給伺服器。
$.ajax({
url: '/api/save',
data: { content: '...' },
success: function(res) {
// res.shareId 為後端返回的 ID
window.location.href = '<%=request.getContextPath()%>/noticeController.do?cmd=jump&stamp=1&name=' + encodeURIComponent(res.shareId);
}
});
String name = request.getParameter("name"); // 獲取 JS 傳來的值
encodeURIComponent 編碼,後端用 URLDecoder.decode(name, "UTF-8") 解碼。<input type="hidden" name="jsValue" id="jsValue">,JS 賦值後 form.submit()。<%=jsVar%>,此時 JS 尚未執行。