1. Una de las formas de cambiar los atributos de acción en el formulario de forma en la llamada de método dinámico DMI se ha explicado. Hay otros dos tipos. Una es cambiar el atributo de método en la etiqueta de acción en el archivo de configuración de Struts.xml para especificar la ejecución de diferentes métodos para manejar diferentes lógicas comerciales; El otro es usar comodines. Para cambiar el atributo del método, se deben configurar múltiples acciones, y la mayoría de estas acciones se definen igual, por lo que esta definición es bastante redundante. Por lo tanto, el uso de comodines puede reemplazar múltiples acciones procesadas lógicamente en una etiqueta de acción.
2. Demostración: ( es similar a la llamada de método dinámico anterior para cambiar el atributo de acción de formulario de formulario, y se realizó una pequeña modificación en el archivo de configuración de Struts.xml).
Los requisitos aún no han cambiado. Haga clic en diferentes botones de envío para enviar el mismo formulario y entregar los diferentes servicios a la misma clase de procesamiento de acción para su procesamiento.
Primero Muestra un formulario, hay dos botones de envío en el formulario, pero representan diferentes negocios. El usuario inicia sesión al hacer clic para iniciar sesión; El usuario inicia sesión al hacer clic para registrarse.
⒉ User Iniciar sesión:
⒊ Registro del usuario:
El código específico es el siguiente:
⑴. Inicie sesión en la página de registro (index.jsp):
<%@ page lenguaje = "java" contentType = "text/html; charset = utf-8" pageEncoding = "utf-8"%> <! DocType html público "-// w3c // dtd html 4.01 transición // en" " "http://www.w3.org/tr/html4/loose.dtd"><html><head><meta http-equiv =" content-type "content =" text/html; charset = utf-8 "> <script src =" js/jQuery-1.7.2.js "> </script <script <script <script> </script <title type = "text/javaScript"> $ (function () {$ ("input: eq (3)"). click (function () {/*Dynamicly modifique el valor del atributo de acción en el formulario para enviar la solicitud registrada a la clase de acción*/$ ("#form"). attr ("Acción", "Creación");});}); </scrito> </head> <body <body <body> <body <body> método = "post" id = "form"> name: <input type = "text" name = "name"/> <br> <br> contraseña: <input type = "contraseña" name = "contraseña"/> <br> <br> <input type = "enviar" value = "registrar"> <input type = "enviar" value = "registrar"> </form> </buerte> </html> ⑵. Código de archivo de configuración de struts.xml
<? xml versión = "1.0" encoding = "utf-8"?> <! DocType Struts public "-// Apache Software Foundation // Dtd Struts Configuración 2.3 // EN" "http://struts.apache.org/dtds/struts-2.3.dtdd"> <truts> <pack name = "myP" Extends = "Struts" name = "*" Method = "{1}"> <resultado name = "UserLogin"> Web-INF/JSP/USERLOGIN.JSP </resultado> <resultado name = "userCreate"> web-inf/jsp/userCreate.jsp </ resultado> </acción> </paquete> </truts> Análisis:
1. En este archivo de configuración, un carácter comodín está configurado para el atributo de nombre en la etiqueta de acción: "*", y el valor del atributo de método después es: {1}.
2. Significa que cuando el usuario haga clic en el botón de inicio de sesión en la página index.jsp, la solicitud de acción = "Iniciar sesión" en el formulario: se pasará a Struts. Debido a que la configuración de comodín se realiza en Struts.xml, "*" se considera "Iniciar sesión", es decir, name = "Iniciar sesión". El valor del método posterior es: {1} representa el primer "*", que es método = "inicio de sesión". Por lo tanto, los puntales encontrarán el método de inicio de sesión en la clase Action.Action y lo llamarán. Si el usuario hace clic en el botón de registro, entonces el proceso es el mismo que hacer clic en el botón de inicio de sesión. Puede escribir un pequeño ejemplo para experimentarlo.
⑶. Código de clase de acción:
Acción del paquete; import com.opensymphony.xwork2.ActionsUpport; public class Action extiende ActionUpport {private String name; public String getName () {return name;} public void setName (name de cadena) {this.name = name;} public String Login () {System.out.println ("UserLogin"); return "UserLogin";} public String String String Create () {System.out.println ("Registro del usuario"); return "UserCreate";}} Por supuesto, el uso de caracteres comodines no es solo así de simple, sino que también puede incluir: "*-*", "book_*", etc. Estos caracteres comodines se pueden usar en las propiedades de la etiqueta de acción en el archivo de configuración de struts.xml, como mTHOD y atributos de clase, o en la etiqueta de resultados, como sigue:
<!-Define una etiqueta de acción general-> <Action name = "*"> <!-Define la etiqueta de resultados usando expresiones-> <resultado>/web-inf/jsp/{1} .jsp </ resultado> </action> En la definición de acción anterior, el nombre de la acción es A *, por lo que puede coincidir con cualquier acción. Todas las solicitudes se manejan a través de esta acción. Debido a que esta acción no tiene un atributo de clase, la clase ActionSupport se usa para manejarlo. Debido a que no hay un atributo de método, el valor predeterminado es el método Ejecutar y devuelve la cadena de éxito. Además, el atributo de nombre en la etiqueta de resultados es el éxito de forma predeterminada, por lo que la acción siempre devuelve directamente el recurso JSP especificado en el resultado. Por lo tanto, el significado de la definición de acción anterior es: si el usuario solicita A.action, saltará a A.JSP; Si se solicita B.Action, saltará a B.JSP.
Lo anterior es la llamada de método dinámico en Struts presentados por el editor. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!