English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O framework Spring oferece um método conveniente para gerenciar dependências. Ele pode ser facilmente integrado com o struts 2Framework.
ContextLoaderListener Classe usada para integrar com o Struts 2Comunicação com a aplicação Spring. Deve ser especificado no arquivo web.xml.
Você precisa seguir os seguintes passos:
Criar o struts2Adicionar o arquivo jar do Spring à aplicação. em web.xml no arquivo, defina a classe ContextLoaderListener. em struts.xml no arquivo, defina o nome do bean para a classe de ação. em applicationContext.xml no arquivo, crie o Bean. O nome da classe deve ser o nome da classe de ação, por exemplo, com.w3codebox.Login e id devem coincidir com a classe de ação no arquivo struts.xml (por exemplo, login). em Classe actiononde, definir outras propriedades, como mensagens.
Você precisa criar os seguintes arquivos para simplificar a integração do Spring and Struts 2Aplicação:
index.jsp web.xml struts.xml applicationContext.xml Login.java welcome.jsp error.jsp
1)index.jsp
Esta página obtém o nome do usuário.
<%@ 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
ele fornece para o struts 2e ContextLoaderListener A classe ouvinte define a classe controladora, para que no struts2estabelecer conexão entre a aplicação Spring e a aplicação 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/web-app_2_5.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name <filter-class org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class </filter> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class </listener <filter-mapping> <filter-name>struts2</filter-name <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
3)struts.xml
It defines a package containing operations and results. Here, the action class name is login, which will be searched in the applicationContext.xml file.
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts public "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="abc" extends="struts-default"> <action name="login" class="login"> <result name="success">welcome.jsp</result> </action> </package> </struts>
4)applicationContext.xml
It defines a bean with ID login name. This bean corresponds to the mypack.Login class.
It should be located in the WEB-INF directory.
<?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="Welcome Spring"></property> </bean> </beans>
5)Login.java
Ele define duas propriedades userName e uma mensagem com o método execute, que retorna sucesso.
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
Ele exibe os valores das propriedades userName e mensagem.
<%@ taglib uri="/struts-tags" prefix="s"%> Bem-vindo, <s:property value="userName"/><br/> ${message}
7)error.jsp
Esta é uma página de erro. Mas isso não é necessário, porque não definimos nenhuma lógica no método execute da classe de ação.
Desculpe!
Saída