如何在Struts2 tile中启动jquery模式弹出窗口?

时间:2013-12-22 15:31:37

标签: java jquery jsp struts2 struts2-tiles-plugin

我正在开发购物车应用程序。在我的申请中有客户注册表。我正在使用Struts2磁贴。当客户端单击“注册”按钮时,我的应用程序会弹出一个jquery模型窗口。在我的NewUser.java操作类中,重写了validate()类的ActionSupport方法。如果电子邮件字段为空,如何弹出包含字段错误的注册表单。

我的动作类:

@Override
public void validate() {
    if (customer.getEmail().equals("")) {
        addFieldError("email", "First Name is Required.");
    }
}


我的弹出窗口:

<div id="register" class="modal hide fade" tabindex="-1">
    <form action="CustomerAdd">
      <label class="control-label" for="email">Email address</label>
      <div class="controls">
        <s:textfield name="customer.email" cssClass="input-xlarge"/>
      </div>  
    </form>
</div>
<a href="#register" class="btn btn-small" data-toggle="modal">
    Register now &nbsp; <i class="icon-chevron-right"></i>
</a> 


Struts2行动:

 <action name="CustomerAdd" class="com.shopping.op.customer.CustomerAdd">
    <result name="success" type="tiles">success_customer</result>            
    <result name="failed" type="tiles">failed_customer</result>
    <result name="not_available" type="tiles">user_already_added</result>
    <result name="input" type="tiles">validate_customer</result>
 </action>


图块定义:

<definition name="validate_customer" extends="baselayout">        
    <put-attribute name="opr" value="/customer/customer.jsp"/>      
    <put-attribute name="body" value="/login.jsp"/><!--This page has the Register button-->      
</definition> 

<小时/> 在此先感谢!

1 个答案:

答案 0 :(得分:1)

在弹出窗口中,您需要添加actionerror标记以显示错误。像这样,

<form action="CustomerAdd">
  <label class="control-label" for="email">Email address</label>
  <div class="controls">
    <s:textfield name="customer.email" cssClass="input-xlarge"/>
    <s:actionerror/>
  </div>  
</form>

我希望如果您正确处理了验证方法,则在输入电子邮件之前您可能无法提交。您错过的是在弹出窗口中显示错误。