English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Integración de Struts con Spring

herramientas en línea 2marco. Spring proporciona un método simple para gestionar las dependencias. Puede integrarse fácilmente con struts

ContextLoaderListener clase para la integración con Struts 2comunicación con la aplicación Spring. Debe especificarse en el archivo web.xml.


Necesita seguir los siguientes pasos:

Crea struts2Añade el archivo jar de spring a la aplicación. en web.xml en el archivo, define la clase ContextLoaderListener. en struts.xml en el archivo, define el nombre del Bean para la clase de acción. en applicationContext.xml en el archivo, crea un Bean. El nombre de la clase debe coincidir con el nombre de la clase de acción, por ejemplo, com.w3codebox.Login y el id deben coincidir con la clase de acción en el archivo struts.xml (por ejemplo, login). en Clase de accióndonde se definen otras propiedades, como los mensajes.

Spring y Struts 2Ejemplo de integración

Necesita crear los siguientes archivos para simplificar la integración de spring and struts 2Aplicación:

index.jsp web.xml struts.xml applicationContext.xml Login.java welcome.jsp error.jsp

1)index.jsp

Esta página obtiene el nombre del usuario.

<%@ taglib uri="/struts-tags" prefix="s">
<s:form action="login">
<s:textfield name="userName" label="UserName"></s:textfield>
<s:submit></s:submit>
</s:form>

2)web.xml

proporciona para struts 2y ContextLoaderListener La clase oyente define la clase controladora, para que en struts2y conecta con la aplicación de spring.

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  http://java.sun.com/xml/ns/javaee/mapping>-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <filter>
    listener-<filter2</pattern>-name>struts
    listener-listener
      org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    </pattern>-listener
  </filter>
  
<listener> 
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-listener 
</class 
  
  listener-filter
    listener-<filter2</pattern>-name>struts
    name-url/*</<url-url
  </pattern>-filter
  
  </mapping>-web

3app>

)struts.xml

<?xml version="1.0" encoding="UTF-8Definición de un paquete que contiene operaciones y resultados. Aquí, el nombre de la clase de acción es login, que se buscará en el archivo applicationContext.xml.
" ?>-//!DOCTYPE struts public "//Apache Software Foundation 2.1//DTD Struts Configuration 
EN"//"http:/struts.apache.org/struts-2.1dtds
.dtd">
<struts>-<package name="abc" extends="struts
default">
<action name="login" class="login">/<result name="success">welcome.jsp<
</result>
</action>
</package>

4struts>

)applicationContext.xml

Definición de un bean con ID de nombre de inicio de sesión. Este bean corresponde a la clase mypack.Login.-En el directorio INF. Debe estar ubicado en WEB

<?xml version="1.0" encoding="UTF-8"?>
<beans
  xmlns="http://www.springframework.org/schema/beans
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
  xmlns:p="http://www.springframework.org/schema/p
  xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="login" class="mypack.Login">
<property name="message" value="Bienvenido Spring"></property>
</bean>
</beans>

5)Login.java

Definición de dos propiedades userName y un mensaje con método execute que devuelve éxito.

package mypack;
public class Login {
private String userName, message;
public String getMessage() {
  return message;
}
public void setMessage(String message) {
  this.message = message;
}
public String getUserName() {
  return userName;
}
public void setUserName(String userName) {
  this.userName = userName;
}
public String execute(){
  return "success";
}
}

6)welcome.jsp

Muestra los valores de las propiedades userName y mensaje.

<%@ taglib uri="/struts-tags" prefix="s">
Bienvenido, <s:property value="userName"/><br/>
${message}

7)error.jsp

Esta es una página de error. Pero esto no es necesario, porque no hemos definido ninguna lógica en el método execute de la clase de acción.

¡Lo siento!

Salida