получить значение элемента формы в jstl - PullRequest
0 голосов
/ 20 января 2012

У меня проблемы с получением значения элемента формы в теге jstl.Я делаю некоторые необычные вещи на моей странице jsp, например, у меня есть выпадающее меню, когда выбрано какое-то значение, я загружаю оставшуюся часть формы, а после выбора загружаю rest, поэтому для первого выпадающего меню у меня нет проблем, потому что ониявляются константами, и я знаю, что загружать дальше, но у второго выпадающего меню есть динамические данные с сервера, поэтому мне нужно знать, какой пользователь выбран, чтобы я мог загрузить оставшуюся часть формы на основе этого.

Я не могу получить доступ к значению этого элемента формы в моем 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>

любая помощь?

Спасибо

1 Ответ

1 голос
/ 22 января 2012

Что ж, «динамические» значения, вероятно, так или иначе связаны с набором данных или набором страниц, поэтому вы должны иметь представление о возвращаемых значениях, которые вам нужно получить.Даже если вы этого не сделаете, вы сможете создать некоторую логику для извлечения выбранных данных на основе пользовательских параметров.

Скажем, например, у меня есть выпадающий список со значениями выбора на основе первичного ключаs) из таблицы базы данных.Как только опция выбрана, я просто выбираю связанный набор данных из базы данных на основе значения первичного ключа в раскрывающемся списке.Значения из раскрывающегося списка могут быть динамическими, основанными на ранее выбранных параметрах, но они по-прежнему связаны с конкретным набором данных.

Все это может быть выполнено с помощью подстановочных знаков или некоторой пользовательской логики для анализа выбранных параметров на стороне сервера.

...