javascriptで変数を作成しようとしていて、その変数をスプリングMCUコントローラで使用しようとしています。残念ながら、私はそれを理解することができないと変数は空になるのを続ける。ここでスプリングコントローラでjavascript変数を取得する
は、私は、変数を設定し、私のjavascriptです:
<script language="JavaScript">
function checkBoxValues() {
checkboxes = document.getElementsByName('message');
var hopeThisWorks = "";
for (var i = 0, n = checkboxes.length; i < n; i++) {
if (checkboxes[i].checked == true) {
message = checkboxes[i].value;
var element = message.split(",");
resubmitMessage(element[0], "" + element[1] + "",element[2]);
var hopeThisWorks = "" + element[2] +"";
alert(hopeThisWorks);
}
}
}
</script>
は、その後、私は、この変数を取ると、次のように入力としての私のjspに追加します。ここでは
<input name="abc" type="hidden" value="${hopeThisWorks}">
はで私のコードです私の春のmvcコントローラ:
@RequestMapping(method = RequestMethod.POST, value = "resubmit")
public String resubmit(@RequestParam(value = "abc") String param, Model model) {
model.addAttribute("messageList", param);
return RESUBMIT;
}
私は変数をjspファイルで呼び出して次の:
<table class="results table table-striped table-bordered table-condensed">
<thead>
<tr>
<td colspan="10">
<h5>Bulk Resubmit Query Results</h5>
</td>
</tr>
<tr>
<jsp:include page="../commons/MessageTrackingIdHeader.jsp"/>
<jsp:include page="../commons/ActionHeader.jsp"/>
<jsp:include page="../commons/ConversationIdHeader.jsp"/>
<jsp:include page="../commons/TimeStampHeader.jsp"/>
<jsp:include page="../commons/ProcessIdHeader.jsp"/>
<jsp:include page="../commons/ExternalMessageIdHeader.jsp"/>
<jsp:include page="../commons/BatchIdHeader.jsp"/>
<jsp:include page="../commons/ResubmitMessage.jsp"/>
</tr>
<p>Test <c:out value="${messageList}"/></p>
JS変数を設定するのではなく、JSを使用して値をHTMLフォームの 'input type = hidden'要素に設定します。またはAjaxを使用してPOSTを実行する –
jspファイルを使用しています。あなたは私がそれをどうやって行うことができるかの例を持っていますか?私は通常jspファイルではなく、javascriptファイルで入力を使用します。 –
私は、あなたが望むことができるとは思えません。まず、Javaがサーバー上で実行され、HTMLファイルが作成されます。 JSPファイルを使用してHTMLを作成できます。 HTMLはブラウザに送信され、ブラウザはJavascriptコードを実行します。 _あなたのJavascriptメソッドがrunning_を開始するまで、変数は作成されません。その時間までにHTMLは既に作成されているので、JSP経由でJavascript変数を取得するのは遅すぎます。 @ScaryWombatによると、1つの解決策は、JavaScriptを直接(おそらくjQueryを使用して)変更することです。 – ajb