定义一个实体类,然后jsp中 类.类成员变量 ,但是无法获取
以下为错误的列子:
package entity;
/**
* @author Ming
* @date 2017/12/22 16:35
* POJO
*/
public class Company {
private String pDeptName;
private String pEmpName;
public String getpDeptName() {
return pDeptName;
}
public void setpDeptName(String pDeptName) {
this.pDeptName = pDeptName;
}
public String getpEmpName() {
return pEmpName;
}
public void setpEmpName(String pEmpName) {
this.pEmpName = pEmpName;
}
}
package action;
import com.opensymphony.xwork2.ActionSupport;
import entity.Company;
import org.apache.struts2.convention.annotation.*;
/**
* @author Ming
* @date 2017/12/22 16:14
*/
@ParentPackage("struts-default")
@Namespace("/")
@ResultPath("/WEB-INF/content/")
public class TestAction extends ActionSupport {
private Company company;
@Action(value = "process", results = {
@Result(location = "ok.jsp")
})
public String execute(){
System.out.println(company.getpEmpName());
System.out.println(company.getpDeptName());
return SUCCESS;
}
public Company getCompany() {
return company;
}
public void setCompany(Company company) {
this.company = company;
}
}
<%--
Created by IntelliJ IDEA.
User: Ming
Date: 2017/12/22
Time: 15:55
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<base href="<%=basePath%>">
<title>$Title$</title>
</head>
<body>
<form action="process.action" method="post">
姓名:<input type="text" name="company.pEmpName" value="${company.pEmpName}"><br>
部门:<input type="text" name="company.pDeptName" value="${company.pDeptName}"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
debug一下,发现后台没有获取到值
修改过后:
注意
成员变量名的 修改
,其余的代码上面已经贴出,对应的get,set,name,value修改一下就好package entity;
/**
* @author Ming
* @date 2017/12/22 16:35
* POJO
*/
public class Company {
private String deptName;
private String empName;
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
}
最后我发现问题是因为类成员变量的名字问题,目前感觉是第二个字母不能大写,成员变量名第二个字母不能大写;;;;;;
EmpName当然这样也是不行滴,大家也不会这样命名就不提了