2013-05-13 58 views
0

我是Struts的新手。我遇到了一个问题。我正在尝试在Action类中填充JSP表单值,但我没有获取Action类中的值。有人能告诉我什么是问题?这是我的JSP。未在Struts中填充JSP表单值Action类

addEmployee.jsp

<a:form action="addEmployee"> 
<a:textfield name="eId" size="20" label="EmployeeID"/> 
<a:textfield name="eName" size="20" label="EmployeeName"/> 
<a:textfield name="eCity" size="20" label="EmployeeCity"/> 
<a:submit value="ADD EMPLOYEE" ></a:submit> 
</a:form> 

我的Action类 - AddEmployeeAction.java

package com.action; 

import com.opensymphony.xwork2.ActionSupport; 

public class AddEmployeeAction extends ActionSupport{ 
/** 
* 
*/ 
private static final long serialVersionUID = 1L; 
int eId; 
String eName; 
String eCity; 


public AddEmployeeAction(){ 
} 

@Override 
public String execute() throws Exception{ 
    System.out.println("*******Execute*******"+eId+eName+eCity); 
    return "success"; 

} 
public int geteId() { 
    return eId; 
} 

public void seteId(int eId) { 
    this.eId = eId; 
} 

public String geteName() { 
    return eName; 
} 

public void seteName(String eName) { 
    this.eName = eName; 
} 

public String geteCity() { 
    return eCity; 
} 

public void seteCity(String eCity) { 
    this.eCity = eCity; 
} 

} 

我的配置文件 - 在struts.xml

<struts> 

<constant name="struts.enable.DynamicMethodInvocation" value="false" /> 
<constant name="struts.devMode" value="true" /> 


<package name="default" extends="struts-default" namespace="/"> 
    <action name="addEmployee" class="com.action.AddEmployeeAction"> 
     <result name="success">/response.jsp</result> 
     <result name="input">/addEmployee.jsp</result> 
    </action> 
</package> 
</struts> 

回答

1

你的getter和setter的命名不正确;他们应该遵循的JavaBean命名约定:

public String getEName() { 
    return eName; 
} 

public void setEName(String eName) { 
    this.eName = eName; 
} 

就个人而言,我要么:

  1. 名称他们更好,例如,empNameemployeeName
  2. 暴露一个员工,并在使用employee.name等。表格或
  3. 使用ModelDriven<Employee>

不相关,但标签应该是人类可读的,例如“Employee Name”,而不是骆驼式的Java类型字符串。

+0

非常感谢Dave。它正在工作。我使用Eclipse,并自动生成getter和setter。我没有注意到命名约定。谢谢... – user2378183 2013-05-13 17:39:18