📜  Spring和Struts 2集成

📅  最后修改于: 2020-12-04 08:58:58             🧑  作者: Mango

Spring和Struts 2集成

Spring框架提供了一种管理依赖项的简便方法。它可以轻松地与struts 2框架集成。

ContextLoaderListener类用于与Struts 2通信Spring应用程序。必须在web.xml文件中指定该类。

您需要执行以下步骤:

  • 创建struts2应用程序并添加spring jar文件。
  • web.xml文件中,定义ContextLoaderListener类。
  • struts.xml文件中,为操作类定义bean名称。
  • applicationContext.xml文件中,创建Bean。它的类名称应该是动作类名称,例如com.javatpoint.Login和id应该与struts.xml文件的动作类(例如login)匹配。
  • 动作类中,定义额外的属性,例如消息。

Spring和Struts 2集成的示例

您需要为简单的spring和struts 2应用程序创建以下文件:

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

该页面从用户那里获得名称。

<%@ taglib uri="/struts-tags" prefix="s"%>





它为struts 2和ContextLoaderListener侦听器类定义了控制器类,以在struts2和spring应用程序之间建立连接。



  
    index.jsp
  
  
      struts2
      
          org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
      
  
  
 
org.springframework.web.context.ContextLoaderListener 
 
  
  
      struts2
      /*
  
  
  

它定义了包含操作和结果的程序包。在这里,操作类名称是login,将在applicationContext.xml文件中进行搜索。









    

它定义了一个具有id登录名的bean。该bean对应于mypack.Login类。在这里将被视为动作班。

它应该位于WEB-INF目录中。









它定义了两个属性userName和带有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";
}
}

打印用户名和消息属性的值。

<%@ taglib uri="/struts-tags" prefix="s"%>

Welcome, 
${message}

这是错误页面。但这不是必需的,因为我们没有在动作类的execute方法中定义任何逻辑。

Sorry! 

输出量