0

一部のjspページにチェックボックスがあります...チェックボックスが選択されている場合、abc.jspがトリガーされます...選択されていない場合、xyz.jspがトリガーされます...誰かがこれを達成するのを手伝ってくれます... jsp自体にコード行を入れたい...

これは、クラスファイルの1つにあるものです

private boolean useNis = false;

public boolean isUseNis() {
return useNis;
    }

public void setUseNis(boolean useNis) {
this.useNis = useNis;
    }

私のhbm.xmlファイルには、次の行だけがあります

<property name="useNis" type="yes_no" column="USENIS" not-null="true"/>

abc.jspには、このコードがあります

<form:checkbox path="useNis"/>
<input type="hidden" value="1" name="_useNis"/> 

xyz.jsp には、次の行があります。

<c:choose>
<c:when test="${Location.useNis==true}">
<button type="submit" name="_eventId_searchLoadKeys"><fmt:message key="SEARCH" /></button> 
</c:when>
<c:otherwise>
<button type="submit" name="_eventId_searchNisLoadKeys"><fmt:message key="SEARCH" /></button>
</c:otherwise>
</c:choose>

<c:when test="${Location.useNis==true}">... xyz.jsp のこの行は、チェックボックスが選択されているかどうかをチェックする必要があります!!! それが解決されれば、私が望むものを手に入れることができます..

4

1 に答える 1

0

チェックボックスはクライアント側で変更されるため、その最初の JSP でロジックを完全に使用できる唯一の方法は、クライアント側コードを使用することです。つまり JavaScript です。

代わりにこれを行う「WebFlow」の方法は、チェックボックスをモデル属性にバインドし、フロー構成ファイルでdecision-stateorを使用action-stateしてその属性の値をチェックして、2 つの JSPview-stateのどちらに次に移行するかを決定することです。 .

flow.xml 部分の例:

<var name="checkboxForm" class="package.CheckboxFormBean"/>

<view-state id="start" view="start.jsp" model="checkboxForm">
    <transition on="submit" to="checkCheckbox"/>
</view-state>

<decision-state id="checkCheckbox">
    <if test="checkboxForm.checked" then="abc" else="xyz"/>
</decision-state>

<view-state id="abc" view="abc.jsp"/>

<view-state id="xyz" view="xyz.jsp"/>

package.CheckboxFormBeanクラスがboolean isChecked()メソッドを持つ場所。

于 2012-07-11T14:57:08.140 に答える