我在下面的代码中遇到问题

<s:form action="updateBankInfo.action" enctype="multipart/form-data" method="post"      theme="simple">
  <s:actionerror />
  <div style="font-family:Times New Roman;font-size:30px; padding-left: 250px;">Bank Info</div>


  <div>
    <div class="label"><s:text name="Payee Name*   :"/></div>
    <div class="input"><s:textfield  value="%{#session.payeeName}" name="bean.payeeName" readonly="false" /></div>
    <div><s:fielderror fieldName="bean.payeeName"/></div>
  </div>

  <div>
    <div class="label"><s:text name="Bank*   :"/></div>
    <div class="input"><s:textfield value="%{#session.bankName}" name="bean.bankName" readonly="false" /></div>
    <div><s:fielderror fieldName="bean.bankName"/></div>
  </div>

  <div>
    <div class="label"><s:text name="Branch*   :"/></div>
    <div class="input"><s:textfield  value="%{#session.bankBranch}" name="bean.bankBranch" readonly="false" /></div>
    <div><s:fielderror fieldName="bean.bankBranch"/></div>
  </div>

  <div>
    <div class="label"><s:text name="City*   :"/></div>
    <div class="input"><s:textfield  value="%{#session.city}" name="bean.city" readonly="false" /></div>
    <div><s:fielderror fieldName="bean.city"/></div>
  </div>

  <div>
    <div class="label"><s:text name="A/C No*:"/></div>
    <div class="input"><s:textfield  value="%{#session.accountNo}" name="bean.accountNo" readonly="false" /></div>
    <div><s:fielderror fieldName="bean.accountNo"/></div>
  </div>

  <div>
    <div class="label"><s:text name="IFSC Code   :"/></div>
    <div class="input"><s:textfield  value="%{#session.IFSCCode}" name="bean.IFSECode" readonly="false" /></div>
    <div><s:fielderror fieldName="bean.IFSECode"/></div>
  </div>
  <button type="submit" style="width:107px;height:34px;margin-top:100px;margin-left:10px;font-size:1.67em;background-color:#d9d9d9;clear: left;" onclick="form.submit()"><s:text name="Update"/></button>
</s:form>


在此,我将从数据库中获取所有值并存储在会话中。 bankName第一次将不包含任何值,并且我已使用Validator方法进行验证,因此,如果我为bankname提供值并单击Submit。由于已给出bankName,因此我无法保留value="%{#session.bankName}"值,因为bankName不包含任何值。如何获取值?

最佳答案

创建bean实例和getter / setter,即

private Bean bean = new Bean();
public Bean getBean() { return bean; }
public void setBean(Bean bean){ this.bean = bean; }


要保留值,您应该

Map session = ActionContext.getContext().getSession();
session.put("bankName", bean.getBankName());
// the same put for the others.


请参见simple example中会话的使用。

09-11 09:26