フォーム要素値をjstlタグに取得するのに問題があります。私はいくつかの値が選択されたら、私はドロップダウンメニューを持っているように、私のJSPページでいくつかの派手なものをやっている、私はフォームの残りの部分をロードし、私は残りの負荷を選択したので、定数であり、次にロードするものを知っていますが、2番目のドロップダウンメニューはサーバーからの動的データを持っていますので、ユーザーが選択したことを知る必要があります。フォーム要素値をjstlに取得
私のjstlのフォーム要素値にアクセスできません。どうやってやるの ?
私のjsp:
<head>
<script type="text/javascript">
$(document).ready(function(){
$("#implementation").change(function(){
if ($(this).val() == "aaa") {
$("#aaa").slideDown("fast");
} else {
$("#aaa").slideUp("fast");
}
});
$("#type").change(function(){
if ($(this).val() == "new" || $(this).val() == "old") {
$("#remote").slideDown("fast");
} else {
$("#remote").slideUp("fast");
}
});
});
</script>
</head>
<body>
<form:form id="form" name="form" method="post" modelAttribute="store" action="/shard">
<fieldset>
<div class="input select">
<label for="implementation">Implementation<span class="small">Choose implementation</span></label>
<form:select name="implementation" path="implementation">
<form:option value="">Choose Implementation</form:option>
<c:forEach items="${implementations.keySet()}" var="impl">
<form:option value="${impl}"><c:out value="${impl}" /></form:option>
</c:forEach>
</form:select>
</div>
<div style="display: none;" id="aaa">
<div class="input select">
<label for="aaa" >aaa<span class="small">Choose cluster</span></label>
<form:select id="cluster" name="cluster" path="cluster">
<form:option value="">Choose Cluster</form:option>
<c:forEach items="${implementations.get('aaa').getClusters().keySet()}" var="cl">
<form:option value="${cl}"><c:out value="${cl}" /></form:option>
</c:forEach>
</form:select>
<label >new</label>
<form:checkbox id="type" path="type" value="new" />
<label >old</label>
<form:checkbox id="type" path="type" value="old" />
<div style="display: none;" id="remote">
<label>Remote Sites <span class="small">Available Sites</span></label>
<c:if test="${implementations.get('aaa').getClusters().get(**<I need the above selected type checkbox value>**) == 'new'}">
<form:checkboxes items="${implementations.get('aaa').getRemoteSites().get('<I need the above selected type checkbox value>').get**<old | new from the type checkbox above>**Sites()}" path="remoteSites" id="remoteSites" style="display: block; float: right;" />
</c:if> </div>
<input style="margin-left: 150px; width: 125px; height: 30px;" class="button" type="submit" value="Add" />
<div class="spacer"></div>
</div>
</div>
</fieldset>
</form:form>
</body>
任意のヘルプ?
が
JSTLはサーバー側で実行されますが、JavaScriptはクライアント側で実行されます。ページを表示したり、フォームを送信したり、AJAXリクエストを行う前に、すべての値をJavaScriptオブジェクトとしてロードせずに、これが動作する可能性はありません。 –
私はRESTful URLで春の作業をすることに問題があったので、これはうまくいくと思いました。とにかく、コメントありがとう – tazo