Jsp 如何在Struts 2中使用ajax请求映射action类

Jsp 如何在Struts 2中使用ajax请求映射action类,jsp,struts2,Jsp,Struts2,我是Struts2的新手,正在做一个项目。在将前端模块与后端模块集成时,我没有得到任何错误或异常,但是action类没有映射到我需要填充部门列表的JSP表单。我引用了许多来自不同博客及其工作的示例,但在我的模块中,我遵循了相同的方法,但没有工作,区别在于我使用Ajax调用映射操作。我是下面的共享示例代码: 在JSP页面中: function getPage(ipage){ $.ajax({ type: "GET", url: "employeeOnboard",

我是Struts2的新手,正在做一个项目。在将前端模块与后端模块集成时,我没有得到任何错误或异常,但是action类没有映射到我需要填充部门列表的JSP表单。我引用了许多来自不同博客及其工作的示例,但在我的模块中,我遵循了相同的方法,但没有工作,区别在于我使用Ajax调用映射操作。我是下面的共享示例代码:


在JSP页面中:

    function getPage(ipage){
    $.ajax({
    type: "GET",
    url: "employeeOnboard",
    success: function (data) {                            
     loadpageinternal(ipage, "employeeOnboard.jsp")
   } //success
});
}

-----
<s:select name="department" id="department"
                        headerValue="Select Department" list="departments" />
行动类:

package org.tungsten.erp.employee.actions;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.HibernateException;
import org.tungsten.erp.employee.CommonUtitilty;
import org.tungsten.erp.employee.entities.Employee;
import org.tungsten.erp.employee.services.impl.EmployeeOnboardingServiceImpl;
import org.tungsten.erp.employee.services.intf.EmployeeOnboardingServiceIntf;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;

/**
 * This Action Class is used for Mapped with EmployeeOnboarding jsp form and to register new Employee Details.
 * @author MegaBytes1024
 *
 */

public class MB extends ActionSupport {

    /**
     * 
     */
    private static final long serialVersionUID = 115563261740687363L;

    private Integer Emp_No;
    private String Emp_First_Name;
    private String Emp_Last_Name;
    private String Emp_Gender;
    private String Emp_DateOfJoining;
    private String Emp_PersonalEmail;
    private String Branch_Description;
    private String Department_Description;
    private String ERP_HRMS_Employee_role;
    private String Emp_ProjManager_Id;
    private String Emp_TungstenEmail;

    private EmployeeOnboardingServiceIntf onboardingServiceIntf = new EmployeeOnboardingServiceImpl();

    private List<String> departments;

    public MB() {
        System.out.println("This is demo in constructor");  // TODO Auto-generated constructor stub
    }

    public List<String> getDepartments() {
        return departments;
    }

    public void setDepartments(List<String> departments) {
        this.departments = departments;
    }

    public Integer getEmp_No() {
        return Emp_No;
    }

    public void setEmp_No(Integer emp_No) {
        Emp_No = emp_No;
    }

    public String getEmp_First_Name() {
        return Emp_First_Name;
    }

    public void setEmp_First_Name(String emp_First_Name) {
        Emp_First_Name=emp_First_Name;
    }

    public String getEmp_Last_Name() {
        return Emp_Last_Name;
    }

    public void setEmp_Last_Name(String emp_Last_Name) {
        Emp_Last_Name = emp_Last_Name;
    }

    public String getEmp_Gender() {
        return Emp_Gender;
    }

    public void setEmp_Gender(String emp_Gender) {
        Emp_Gender = emp_Gender;
    }

    public String getEmp_DateOfJoining() {
        return Emp_DateOfJoining;
    }

    public void setEmp_DateOfJoining(String emp_DateOfJoining) {
        Emp_DateOfJoining = emp_DateOfJoining;
    }

    public String getEmp_PersonalEmail() {
        return Emp_PersonalEmail;
    }

    public void setEmp_PersonalEmail(String emp_PersonalEmail) {
        Emp_PersonalEmail = emp_PersonalEmail;
    }

    public String getBranch_Description() {
        return Branch_Description;
    }

    public void setBranch_Description(String branch_Description) {
        Branch_Description = branch_Description;
    }

    public String getDepartment_Description() {
        return Department_Description;
    }

    public void setDepartment_Description(String department_Description) {
        Department_Description = department_Description;
    }

    public String getERP_HRMS_Employee_role() {
        return ERP_HRMS_Employee_role;
    }

    public void setERP_HRMS_Employee_role(String eRP_HRMS_Employee_role) {
        ERP_HRMS_Employee_role = eRP_HRMS_Employee_role;
    }

    public String getEmp_ProjManager_Id() {
        return Emp_ProjManager_Id;
    }

    public void setEmp_ProjManager_Id(String emp_ProjManager_Id) {
        Emp_ProjManager_Id = emp_ProjManager_Id;
    }

    public String getEmp_TungstenEmail() {
        return Emp_TungstenEmail;
    }

    public void setEmp_TungstenEmail(String emp_TungstenEmail) {
        Emp_TungstenEmail = emp_TungstenEmail;
    }

    @Override
    public String toString() {
        return "MB [Emp_No=" + Emp_No + ", Emp_First_Name=" + Emp_First_Name
                + ", Emp_Last_Name=" + Emp_Last_Name + ", Emp_Gender="
                + Emp_Gender + ", Emp_DateOfJoining=" + Emp_DateOfJoining
                + ", Emp_PersonalEmail=" + Emp_PersonalEmail
                + ", Branch_Description=" + Branch_Description
                + ", Department_Description=" + Department_Description
                + ", ERP_HRMS_Employee_role=" + ERP_HRMS_Employee_role
                + ", Emp_ProjManager_Id=" + Emp_ProjManager_Id
                + ", Emp_TungstenEmail=" + Emp_TungstenEmail + "]";
    }

    @Override
    public String execute() throws Exception {
        System.out.println("This is Manoj Bawane");
        departments=new ArrayList<String>();
        departments.add("Manoj");
        departments.add("Bhudevi");
        departments.add("Darshana");
        departments.add("Rasika");
        Emp_First_Name="Manoj";

        System.out.println("Department List : "+departments);
        return Action.SUCCESS;
    }

    public String showMB(){
        System.out.println("This is Demo For MB");
        System.out.println("Akshay");
        System.out.println(this.toString());
        return Action.SUCCESS;
    }

    public String saveEmployeeDetails(){
        try{
            System.out.println("Action : Saving employee Details ");
            Employee employee=convertActionFieldsIntoEmployeeFields();
            System.out.println("converted into employee : "+employee.toString());
            onboardingServiceIntf.saveEmployeeOnBoardingService(employee);
            System.out.println("Action : Saved employee Details ");
            return Action.SUCCESS;
        }catch(HibernateException ex){
            addActionError("Failed to save Details");
            return Action.ERROR;
        }
    }

    /**
     * This method converts the action POJO to Entity
     * @return
     */
    private Employee convertActionFieldsIntoEmployeeFields() {

        Employee employee = new Employee();
        employee.setEmp_No(this.getEmp_No());
        employee.setEmp_First_Name(this.getEmp_First_Name());
        employee.setEmp_Last_Name(this.getEmp_Last_Name());
        employee.setEmp_Gender(this.getEmp_Gender());
        employee.setEmp_PersonalEmail(this.getEmp_PersonalEmail());
        employee.setEmp_DateOfJoining(CommonUtitilty.stringToDateConversion(this.getEmp_DateOfJoining()));
        employee.setEmp_Branch_Id(1);
        employee.setEmp_Dept_Id(1);
        employee.setEmp_Role_Id(1);
        employee.setEmp_TungstenEmail(this.Emp_TungstenEmail);
        employee.setEmp_ProjManager_name(this.Emp_ProjManager_Id);

        return employee;
    }
}
包org.worth.erp.employee.actions;
导入java.util.ArrayList;
导入java.util.List;
导入org.hibernate.hibernateeexception;
导入org.worth.erp.employee.commonutilty;
导入org.worth.erp.employee.entities.employee;
导入org.worth.erp.employee.services.impl.EmployeeOnboardingServiceImpl;
导入org.worth.erp.employee.services.intf.EmployeeOnboardingServiceIntf;
导入com.opensymphony.xwork2.Action;
导入com.opensymphony.xwork2.ActionSupport;
/**
*此操作类用于映射EmployeeOnboarding jsp表单并注册新员工详细信息。
*@author MegaBytes1024
*
*/
公共类MB扩展了ActionSupport{
/**
* 
*/
私有静态最终长serialVersionUID=115563261740687363L;
私有整数Emp_No;
私有字符串Emp_First_Name;
私有字符串Emp_Last_Name;
私人字符串Emp_性别;
私有字符串Emp_dateof joining;
私人字符串Emp_PersonalEmail;
私有字符串分支描述;
私人字符串部门描述;
私有字符串ERP\u HRMS\u员工\u角色;
私有字符串Emp_ProjManager_Id;
私有字符串Emp_TungstenEmail;
private EmployeeOnBoardingServiceInF OnBoardingServiceInF=新员工OnBoardingServiceImpl();
私人名单部门;
公共MB(){
System.out.println(“这是构造函数中的演示”);//TODO自动生成的构造函数存根
}
公共部门名单({
返回部门;
}
公共部门(列出部门){
这个.部门=部门;
}
公共整数getEmp_No(){
返回Emp_编号;
}
公共无效setEmp\u编号(整数emp\u编号){
Emp_No=Emp_No;
}
公共字符串getEmp_First_Name(){
返回Emp_的第一个名称;
}
public void setEmp_First_Name(字符串emp_First_Name){
Emp_First_Name=Emp_First_Name;
}
公共字符串getEmp\u Last\u Name(){
返回Emp_姓氏;
}
public void setEmp\u Last\u Name(字符串emp\u Last\u Name){
Emp_Last_Name=Emp_Last_Name;
}
公共字符串getEmp_Gender(){
返回Emp_性别;
}
public void setEmp_-Gender(字符串emp_-Gender){
Emp_性别=Emp_性别;
}
公共字符串getEmp_DateOfJoining(){
返回Emp_加入日期;
}
public void setEmp_DateOfJoining(字符串emp_DateOfJoining){
Emp_dateof joining=Emp_dateof joining;
}
公共字符串getEmp_PersonalEmail(){
返回Emp_个人电子邮件;
}
public void setEmp_PersonalEmail(字符串emp_PersonalEmail){
Emp_PersonalEmail=Emp_PersonalEmail;
}
公共字符串getBranch_Description(){
返回分支描述;
}
公共无效分支描述(字符串分支描述){
分支描述=分支描述;
}
公共字符串getDepartment_Description(){
退货部门描述;
}
公共部门描述(字符串部门描述){
部门描述=部门描述;
}
公共字符串getERP\u HRMS\u Employee\u role(){
返回ERP\u HRMS\u员工\u角色;
}
public void setERP\u HRMS\u Employee\u角色(字符串eRP\u HRMS\u Employee\u角色){
ERP_HRMS_Employee_role=ERP_HRMS_Employee_role;
}
公共字符串getEmp_ProjManager_Id(){
返回Emp_ProjManager_Id;
}
public void setEmp_ProjManager_Id(字符串emp_ProjManager_Id){
Emp_ProjManager_Id=Emp_ProjManager_Id;
}
公共字符串getEmp_TungstenEmail(){
返回Emp_TungstenEmail;
}
public void setEmp_TungstenEmail(字符串emp_TungstenEmail){
Emp_TungstenEmail=Emp_TungstenEmail;
}
@凌驾
公共字符串toString(){
返回“MB[Emp_No=“+Emp_No+”,Emp_First_Name=“+Emp_First_Name
+“,Emp_Last_Name=“+Emp_Last_Name+”,Emp_性别=”
+Emp_性别+”,Emp_加入日期=“+Emp_加入日期
+“,Emp_PersonalEmail=“+Emp_PersonalEmail
+“,Branch_Description=“+Branch_Description
+“,Department_Description=“+Department_Description
+“,ERP_HRMS_Employee_role=“+ERP_HRMS_Employee_role”
+“,Emp_ProjManager_Id=“+Emp_ProjManager_Id
+“,Emp_TungstenEmail=“+Emp_TungstenEmail+”]”;
}
@凌驾
公共字符串execute()引发异常{
System.out.println(“这是Manoj Bawane”);
departments=newarraylist();
部门。添加(“Manoj”);
部门。添加(“Bhudevi”);
部门。添加(“Darshana”);
部门。添加(“Rasika”);
Emp_First_Name=“Manoj”;
System.out.println(“部门列表:+部门”);
回报行动。成功;
}
公共字符串showMB(){
System.out.println(“这是MB的演示”);
System.out.println(“Akshay”);
System.out.println(this.toString());
回报行动。成功;
}
公共字符串saveEmployeeDetails(){
试一试{
System.out.println(“操作:保存员工详细信息”);
Employee=convertActionFieldsIntoEmployeeFields();
System.out.println(“转换为employee:+employee.toString());
OnboardingService ntf.saveEmployeeOnBoardingService(员工);
System.out.println(“操作:保存的员工详细信息”);
package org.tungsten.erp.employee.actions;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.HibernateException;
import org.tungsten.erp.employee.CommonUtitilty;
import org.tungsten.erp.employee.entities.Employee;
import org.tungsten.erp.employee.services.impl.EmployeeOnboardingServiceImpl;
import org.tungsten.erp.employee.services.intf.EmployeeOnboardingServiceIntf;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;

/**
 * This Action Class is used for Mapped with EmployeeOnboarding jsp form and to register new Employee Details.
 * @author MegaBytes1024
 *
 */

public class MB extends ActionSupport {

    /**
     * 
     */
    private static final long serialVersionUID = 115563261740687363L;

    private Integer Emp_No;
    private String Emp_First_Name;
    private String Emp_Last_Name;
    private String Emp_Gender;
    private String Emp_DateOfJoining;
    private String Emp_PersonalEmail;
    private String Branch_Description;
    private String Department_Description;
    private String ERP_HRMS_Employee_role;
    private String Emp_ProjManager_Id;
    private String Emp_TungstenEmail;

    private EmployeeOnboardingServiceIntf onboardingServiceIntf = new EmployeeOnboardingServiceImpl();

    private List<String> departments;

    public MB() {
        System.out.println("This is demo in constructor");  // TODO Auto-generated constructor stub
    }

    public List<String> getDepartments() {
        return departments;
    }

    public void setDepartments(List<String> departments) {
        this.departments = departments;
    }

    public Integer getEmp_No() {
        return Emp_No;
    }

    public void setEmp_No(Integer emp_No) {
        Emp_No = emp_No;
    }

    public String getEmp_First_Name() {
        return Emp_First_Name;
    }

    public void setEmp_First_Name(String emp_First_Name) {
        Emp_First_Name=emp_First_Name;
    }

    public String getEmp_Last_Name() {
        return Emp_Last_Name;
    }

    public void setEmp_Last_Name(String emp_Last_Name) {
        Emp_Last_Name = emp_Last_Name;
    }

    public String getEmp_Gender() {
        return Emp_Gender;
    }

    public void setEmp_Gender(String emp_Gender) {
        Emp_Gender = emp_Gender;
    }

    public String getEmp_DateOfJoining() {
        return Emp_DateOfJoining;
    }

    public void setEmp_DateOfJoining(String emp_DateOfJoining) {
        Emp_DateOfJoining = emp_DateOfJoining;
    }

    public String getEmp_PersonalEmail() {
        return Emp_PersonalEmail;
    }

    public void setEmp_PersonalEmail(String emp_PersonalEmail) {
        Emp_PersonalEmail = emp_PersonalEmail;
    }

    public String getBranch_Description() {
        return Branch_Description;
    }

    public void setBranch_Description(String branch_Description) {
        Branch_Description = branch_Description;
    }

    public String getDepartment_Description() {
        return Department_Description;
    }

    public void setDepartment_Description(String department_Description) {
        Department_Description = department_Description;
    }

    public String getERP_HRMS_Employee_role() {
        return ERP_HRMS_Employee_role;
    }

    public void setERP_HRMS_Employee_role(String eRP_HRMS_Employee_role) {
        ERP_HRMS_Employee_role = eRP_HRMS_Employee_role;
    }

    public String getEmp_ProjManager_Id() {
        return Emp_ProjManager_Id;
    }

    public void setEmp_ProjManager_Id(String emp_ProjManager_Id) {
        Emp_ProjManager_Id = emp_ProjManager_Id;
    }

    public String getEmp_TungstenEmail() {
        return Emp_TungstenEmail;
    }

    public void setEmp_TungstenEmail(String emp_TungstenEmail) {
        Emp_TungstenEmail = emp_TungstenEmail;
    }

    @Override
    public String toString() {
        return "MB [Emp_No=" + Emp_No + ", Emp_First_Name=" + Emp_First_Name
                + ", Emp_Last_Name=" + Emp_Last_Name + ", Emp_Gender="
                + Emp_Gender + ", Emp_DateOfJoining=" + Emp_DateOfJoining
                + ", Emp_PersonalEmail=" + Emp_PersonalEmail
                + ", Branch_Description=" + Branch_Description
                + ", Department_Description=" + Department_Description
                + ", ERP_HRMS_Employee_role=" + ERP_HRMS_Employee_role
                + ", Emp_ProjManager_Id=" + Emp_ProjManager_Id
                + ", Emp_TungstenEmail=" + Emp_TungstenEmail + "]";
    }

    @Override
    public String execute() throws Exception {
        System.out.println("This is Manoj Bawane");
        departments=new ArrayList<String>();
        departments.add("Manoj");
        departments.add("Bhudevi");
        departments.add("Darshana");
        departments.add("Rasika");
        Emp_First_Name="Manoj";

        System.out.println("Department List : "+departments);
        return Action.SUCCESS;
    }

    public String showMB(){
        System.out.println("This is Demo For MB");
        System.out.println("Akshay");
        System.out.println(this.toString());
        return Action.SUCCESS;
    }

    public String saveEmployeeDetails(){
        try{
            System.out.println("Action : Saving employee Details ");
            Employee employee=convertActionFieldsIntoEmployeeFields();
            System.out.println("converted into employee : "+employee.toString());
            onboardingServiceIntf.saveEmployeeOnBoardingService(employee);
            System.out.println("Action : Saved employee Details ");
            return Action.SUCCESS;
        }catch(HibernateException ex){
            addActionError("Failed to save Details");
            return Action.ERROR;
        }
    }

    /**
     * This method converts the action POJO to Entity
     * @return
     */
    private Employee convertActionFieldsIntoEmployeeFields() {

        Employee employee = new Employee();
        employee.setEmp_No(this.getEmp_No());
        employee.setEmp_First_Name(this.getEmp_First_Name());
        employee.setEmp_Last_Name(this.getEmp_Last_Name());
        employee.setEmp_Gender(this.getEmp_Gender());
        employee.setEmp_PersonalEmail(this.getEmp_PersonalEmail());
        employee.setEmp_DateOfJoining(CommonUtitilty.stringToDateConversion(this.getEmp_DateOfJoining()));
        employee.setEmp_Branch_Id(1);
        employee.setEmp_Dept_Id(1);
        employee.setEmp_Role_Id(1);
        employee.setEmp_TungstenEmail(this.Emp_TungstenEmail);
        employee.setEmp_ProjManager_name(this.Emp_ProjManager_Id);

        return employee;
    }
}
function loadpageinternal(idi, pagei) {

    $("#internal-panel").css("display", "block");
    $(".first").removeClass("active");
    if (pci != null) {
        $(pci).removeClass("active");
    }
    $("#internal-panel").load(pagei);
    pci = idi;
    $(idi).addClass("active");
}
<li onclick="loadpageinternal(this,'employeeOnboard.action')">OnBoard</li>