这是actionpackage com.itsp.userinfo.web.action;import com.itsp.userinfo.dao.UserInfoDao;
import com.itsp.userinfo.dao.model.OpratorInfo;
import com.itsp.userinfo.dao.model.UserInfo;
import com.itsp.userinfo.dao.model.UserType;
import com.itsp.util.BaseAction;public class UserInfoAction extends BaseAction{
/**
*
*/
private static final long serialVersionUID = 1L;
private UserInfo userInfo;
private OpratorInfo opratorInfo;
private UserInfoDao userInfoDao;
//添加操作员和企业信息
public void addUserInfo(){
try{
String bol="";
UserType type=new UserType();
type.setUserType("test");
type.setTypeName("test");
userInfo.setVerifyFlag("0");
userInfo.setEffectFlag("1");
userInfo.setUserType(type);
userInfo.setCompanyName(opratorInfo.getCompanyName());
opratorInfo.setUserInfo(userInfo);
opratorInfo.setStatus("0");
opratorInfo.setOpratorName("guanliyuan");
int opratorInfoId=userInfoDao.save(opratorInfo);
if(opratorInfoId!=-1){
bol="true";
}else{
bol="false";
}
String jsonString = "{success:"+bol+",msgs:'操作已执行'}";
System.out.println(jsonString);
response.getWriter().write(jsonString);
}catch(Exception e){
e.printStackTrace();
}
}
/**
* @return the userInfo
*/
public UserInfo getUserInfo() {
return userInfo;
}
/**
* @param userInfo the userInfo to set
*/
public void setUserInfo(UserInfo userInfo) {
this.userInfo = userInfo;
}
/**
* @return the userInfoDao
*/
public UserInfoDao getUserInfoDao() {
return userInfoDao;
}
/**
* @param userInfoDao the userInfoDao to set
*/
public void setUserInfoDao(UserInfoDao userInfoDao) {
this.userInfoDao = userInfoDao;
} /**
* @return the opratorInfo
*/
public OpratorInfo getOpratorInfo() {
return opratorInfo;
}
/**
* @param opratorInfo the opratorInfo to set
*/
public void setOpratorInfo(OpratorInfo opratorInfo) {
this.opratorInfo = opratorInfo;
}
}
这是OpratorInfo类package com.itsp.userinfo.dao.model;import java.io.Serializable;public class OpratorInfo implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private int opratorId;
//操作员姓名
private String opratorName;
//登录人姓名
private String loginName;
//登录密码
private String password;
//所属公司
private UserInfo userInfo;
//公司名
private String companyName;
//状态:0-启用;1-停用
private String status;
//岗位职位信息
private Post post;
//备注
private String re;
public OpratorInfo() {
}
/**
* @return the opratorId
*/
public int getOpratorId() {
return opratorId;
}
/**
* @param opratorId the opratorId to set
*/
public void setOpratorId(int opratorId) {
this.opratorId = opratorId;
}
/**
* @return the opratorName
*/
public String getOpratorName() {
return opratorName;
}
/**
* @param opratorName the opratorName to set
*/
public void setOpratorName(String opratorName) {
this.opratorName = opratorName;
} /**
* @return the loginName
*/
public String getLoginName() {
return loginName;
}
/**
* @param loginName the loginName to set
*/
public void setLoginName(String loginName) {
this.loginName = loginName;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return the userInfo
*/
public UserInfo getUserInfo() {
return userInfo;
}
/**
* @param userInfo the userInfo to set
*/
public void setUserInfo(UserInfo userInfo) {
this.userInfo = userInfo;
}
/**
* @return the companyName
*/
public String getCompanyName() {
return companyName;
}
/**
* @param companyName the companyName to set
*/
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
/**
* @return the status
*/
public String getStatus() {
return status;
}
/**
* @param status the status to set
*/
public void setStatus(String status) {
this.status = status;
} /**
* @return the post
*/
public Post getPost() {
return post;
}
/**
* @param post the post to set
*/
public void setPost(Post post) {
this.post = post;
}
/**
* @return the re
*/
public String getRe() {
return re;
}
/**
* @param re the re to set
*/
public void setRe(String re) {
this.re = re;
}
}
import com.itsp.userinfo.dao.model.OpratorInfo;
import com.itsp.userinfo.dao.model.UserInfo;
import com.itsp.userinfo.dao.model.UserType;
import com.itsp.util.BaseAction;public class UserInfoAction extends BaseAction{
/**
*
*/
private static final long serialVersionUID = 1L;
private UserInfo userInfo;
private OpratorInfo opratorInfo;
private UserInfoDao userInfoDao;
//添加操作员和企业信息
public void addUserInfo(){
try{
String bol="";
UserType type=new UserType();
type.setUserType("test");
type.setTypeName("test");
userInfo.setVerifyFlag("0");
userInfo.setEffectFlag("1");
userInfo.setUserType(type);
userInfo.setCompanyName(opratorInfo.getCompanyName());
opratorInfo.setUserInfo(userInfo);
opratorInfo.setStatus("0");
opratorInfo.setOpratorName("guanliyuan");
int opratorInfoId=userInfoDao.save(opratorInfo);
if(opratorInfoId!=-1){
bol="true";
}else{
bol="false";
}
String jsonString = "{success:"+bol+",msgs:'操作已执行'}";
System.out.println(jsonString);
response.getWriter().write(jsonString);
}catch(Exception e){
e.printStackTrace();
}
}
/**
* @return the userInfo
*/
public UserInfo getUserInfo() {
return userInfo;
}
/**
* @param userInfo the userInfo to set
*/
public void setUserInfo(UserInfo userInfo) {
this.userInfo = userInfo;
}
/**
* @return the userInfoDao
*/
public UserInfoDao getUserInfoDao() {
return userInfoDao;
}
/**
* @param userInfoDao the userInfoDao to set
*/
public void setUserInfoDao(UserInfoDao userInfoDao) {
this.userInfoDao = userInfoDao;
} /**
* @return the opratorInfo
*/
public OpratorInfo getOpratorInfo() {
return opratorInfo;
}
/**
* @param opratorInfo the opratorInfo to set
*/
public void setOpratorInfo(OpratorInfo opratorInfo) {
this.opratorInfo = opratorInfo;
}
}
这是OpratorInfo类package com.itsp.userinfo.dao.model;import java.io.Serializable;public class OpratorInfo implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private int opratorId;
//操作员姓名
private String opratorName;
//登录人姓名
private String loginName;
//登录密码
private String password;
//所属公司
private UserInfo userInfo;
//公司名
private String companyName;
//状态:0-启用;1-停用
private String status;
//岗位职位信息
private Post post;
//备注
private String re;
public OpratorInfo() {
}
/**
* @return the opratorId
*/
public int getOpratorId() {
return opratorId;
}
/**
* @param opratorId the opratorId to set
*/
public void setOpratorId(int opratorId) {
this.opratorId = opratorId;
}
/**
* @return the opratorName
*/
public String getOpratorName() {
return opratorName;
}
/**
* @param opratorName the opratorName to set
*/
public void setOpratorName(String opratorName) {
this.opratorName = opratorName;
} /**
* @return the loginName
*/
public String getLoginName() {
return loginName;
}
/**
* @param loginName the loginName to set
*/
public void setLoginName(String loginName) {
this.loginName = loginName;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
/**
* @return the userInfo
*/
public UserInfo getUserInfo() {
return userInfo;
}
/**
* @param userInfo the userInfo to set
*/
public void setUserInfo(UserInfo userInfo) {
this.userInfo = userInfo;
}
/**
* @return the companyName
*/
public String getCompanyName() {
return companyName;
}
/**
* @param companyName the companyName to set
*/
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
/**
* @return the status
*/
public String getStatus() {
return status;
}
/**
* @param status the status to set
*/
public void setStatus(String status) {
this.status = status;
} /**
* @return the post
*/
public Post getPost() {
return post;
}
/**
* @param post the post to set
*/
public void setPost(Post post) {
this.post = post;
}
/**
* @return the re
*/
public String getRe() {
return re;
}
/**
* @param re the re to set
*/
public void setRe(String re) {
this.re = re;
}
}
14:49:12,046 WARN OgnlValueStack:49 - Error setting expression 'opratorInfo.companyName' with value '[Ljava.lang.String;@136eabc'
ognl.OgnlException: target is null for setProperty(null, "companyName", [Ljava.lang.String;@136eabc)
at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1665)
at ognl.ASTProperty.setValueBody(ASTProperty.java:101)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
at ognl.SimpleNode.setValue(SimpleNode.java:246)
at ognl.ASTChain.setValueBody(ASTChain.java:172)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
at ognl.SimpleNode.setValue(SimpleNode.java:246)
at ognl.Ognl.setValue(Ognl.java:476)
at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:198)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:161)
at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:149)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:276)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:187)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)opratorInfo为null,但是在action里明明提供了set方法,但就是报错,希望大家帮忙看下,小弟非常感谢!!!
只有opratorInfo没有取到,其他都取到了...
ognl赋值时
opratorInfo没有实例化
public OpratorInfo getOpratorInfo() {
if(opratorInfo==null){
opratorInfo=new OpratorInfo ();
}
return opratorInfo;
}