【问题标题】:Disable/enable jsp page upon selection of a checkbox选中复选框后禁用/启用 jsp 页面
【发布时间】:2012-07-12 22:04:18
【问题描述】:

我在某个jsp页面中有一个复选框...如果选中该复选框,abc.jsp将触发...如果未选中xyz.jsp应该触发...谁能帮我实现这个...我想在 jsp 本身中有代码行...

这是我的一个类文件中的内容

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>

&lt;c:when test="${Location.useNis==true}"&gt; ... xyz.jsp 中的这一行应该检查是否选中了复选框!!!如果解决了,我会得到我想要的..

【问题讨论】:

    标签: jsp events spring-webflow


    【解决方案1】:

    由于在客户端更改了复选框,因此您可以在第一个 JSP 中完全拥有逻辑的唯一方法是使用客户端代码。即 JavaScript。

    执行此操作的“WebFlow”方法是将复选框绑定到模型属性,并在流配置文件中使用decision-stateaction-state 来检查该属性的值,以确定哪个两个 JSP view-states 中的一个过渡到下一个。

    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() 方法。

    【讨论】:

      猜你喜欢
      • 2016-10-03
      • 1970-01-01
      • 1970-01-01
      • 2020-10-31
      • 1970-01-01
      • 1970-01-01
      • 2013-11-17
      • 2014-12-31
      • 1970-01-01
      相关资源
      最近更新 更多