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

إدخال Struts لـ Spring

يقدم إطار Spring طريقة سهلة لإدارة الاعتماد. يمكنه التكامل بسهولة مع إطار struts 2.

ContextLoaderListener فئة تستخدم للتواصل مع تطبيق Spring 2. يجب تحديدها في ملف web.xml.


تحتاج إلى تنفيذ الخطوات التالية:

إنشاء تطبيق struts2 وأضف ملف jar لـ spring. في web.xml في ملف، تعريف فئة ContextLoaderListener. في struts.xml في ملف، تعريف اسم bean للفئة العمل. في applicationContext.xml في ملف، أنشئ Bean. يجب أن يكون اسم الفئة اسم فئة العمل (مثل com.w3codebox.Login) و id يجب أن يتطابق مع فئة العمليات في ملف struts.xml (مثل login). في فئة actionفي، تعريف الخصائص الأخرى، مثل الرسالة.

مثال على التكامل بين Spring و Struts 2

يجب عليك إنشاء الملفات التالية لتسهيل عملية التطبيق المدمج بين spring و struts 2:

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

1)index.jsp

هذه الصفحة تأخذ الاسم من المستخدم.

<%@ 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

هي لـ struts 2 و ContextLoaderListener مستمع الفئة يعرف الفئة التحكمية لإنشاء اتصال بين struts2 و 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

يحدد حزمة تحتوي على عمليات وأجهزة النتائج. هنا، اسم فئة العمل هو login، سيتم البحث عنها في ملف applicationContext.xml.

<?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

يحدد بيانًا يحتوي على اسم تسجيل الدخول كـ ID. هذا البيان يتطابق مع فئة mypack.Login.

يتجب أن يكون موجودًا في مجلد WEB-INF.

<?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

يحددان اثنين من الخاصياتuserName وmessage مع طريقة execute التي تعود بنجاح.

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

يظهرuserName وقيمة الخاصية message.

<%@ taglib uri="/struts-tags" prefix="s"%>
مرحبًا، <s:property value="userName"/><br/>
${message}

7)error.jsp

هذه هي صفحة الخطأ. ولكن هذا ليس ضروري لأننا لم نحدد أي منطق في طريقة execute في فئة العمل.

آسف!

الإخراج