在Struts2中提交对话框表单

时间:2018-05-02 11:01:58

标签: jquery struts2 struts2-jquery

我正在学习Struts2 / Hibernate / Jquery,我无法提交一个对话框表单来发送一个“alumno”对象(alumno.nombre等)从jsp到action。 addUser()方法仅验证表单字段。我试图复制通常<s:form>的相同行为,以便调用方法“guardar”并在db中保存alumno对象。

Jquery JSP:

 dialog = $( "#dialog-form" ).dialog({
  autoOpen: false,
  height: 400,
  width: 350,
  modal: true,
  buttons: {
    "Guardar": addUser,
     "Cerrar": function() {
       dialog.dialog( "close" );
     }
  },
  close: function() {
    form[ 0 ].reset();
    allFields.removeClass( "ui-state-error" );
  }
});
// Se ejecuta cuando ya se ha creado/editado un alumno 
form = dialog.find( "form" ).on( "submit", function( event ) {
    event.preventDefault();
    addUser();
    alert("form");
});

$( "#create-user" ).button().on( "click", function() {
    event.preventDefault();
    dialog.dialog( "open" );
});

JSP

<div id="dialog-form" title="Crear nuevo alumno">
    <p class="validateTips">Todos los campos del formulario son obligatorios.</p>
  <s:form id="formularioAlumnos" action="guardarAdminAlumno">
<fieldset>
  <label for="nombre">Nombre</label>
  <input type="text" name="alumno.nombre" id="nombre">
  <label for="apellidos">Apellidos</label>
  <input type="text" name="alumno.apellidos" id="apellidos">

  <!-- Allow form submission with keyboard without duplicating the dialog button -->
  <s:submit id="entrar" ctabindex="-1" style="position:absolute; top:-1000px"/>
</fieldset>

struts.xml中

   <action name="*AdminAlumno" method="{1}" class="AdminGestAlumActionBean">
        <result name="success" type="redirect">gestionAlumnos</result>
    </action>

1 个答案:

答案 0 :(得分:0)

最后它比我想象的要容易,因为调用提交按钮($("#entrar").click();)的click事件就可以了。

这是因为我不明白jquery和ajax是如何工作的以及到底是什么。