數據庫:MySql5.0
[b]異常1:[/b]
ognl.OgnlException: target is null for setProperty(null, "pageNo", [Ljava.lang.String;@18a80d4)
at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2219)
at ognl.ASTProperty.setValueBody(ASTProperty.java:127)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
解決:
ArticleAction中page屬性沒有get方法:
public Page<Article> getPage() {
return page;
}
[b]異常2:[/b]
org.hibernate.QueryException: could not resolve property: SUBJECT of: com.ht.entity.security.Article
at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:67)
at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:61)
解決:
<input type="text" name="filter_LIKES_subject" value="${param['filter_LIKES_subject']}" size="9"/>
jsp頁面屬性名name(filter_LIKES_?)?處要與類中定義的一致。
[color=red]------分割線------數據庫已修改爲oracle10g :oops: [/color]
[b]異常3[/b]
2010-03-22 19:34:59,281 [http-8080-3] ERROR [500.jsp] -
java.lang.NullPointerException
at com.ht.sys.service.security.SecurityEntityManager.searchArticle(SecurityEntityManager.java:144)
at com.ht.sys.service.security.SecurityEntityManager$$FastClassByCGLIB$$bf90a3ab.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
解決:
錯誤代碼:
@Transactional(readOnly = true)
public Page<Article> searchArticle(final Page<Article> page, final List<PropertyFilter> filters) {
return articleDao.findPage(page, filters);
}
articleDao未注入:
@Autowired
private ArticleDao articleDao;
加入@Autowired即可
這次真的大粗心了 :?
[b]異常4[/b]
org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
......~~...~
Caused by: java.sql.SQLException: ORA-00904: "THIS_"."JOB_STATUS": 標識符無效
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
解決:
pojo類中我定義了屬性jobStatus,
解析時解析爲了JOB_STATUS,修改屬性爲jobstatus就ok了。
[b]異常5[/b]
ConstraintViolationException: could not insert: [com.ht.sys.entity.security.Recruitment]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
......
Caused by: java.sql.SQLException: ORA-01400: 無法將 NULL 插入...
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
解決:
IdEntity類中id生成方式修改爲:
@GeneratedValue(strategy = GenerationType.SEQUENCE)
[b]異常6[/b]
[http-8080-2] ERROR [500.jsp] - The list() is not defined in action class com.opensymphony.xwork2.ActionSupport
java.lang.IllegalArgumentException: The list() is not defined in action class com.opensymphony.xwork2.ActionSupport
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:454)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
解決:
Action類,類與表大小寫不一致等等
[b]異常7[/b]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name '_filterChainList': Cannot create inner bean '(inner bean)' of type [org.springframework.security.config.OrderedFilterBeanDefinitionDecorator$OrderedFilterDecorator] while setting bean property 'filters' with key [10]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'filterSecurityInterceptor' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'filterSecurityInterceptor' defined in file [/data/cds/tomcat/webapps/cds/WEB-INF/classes/applicationContext-security.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Unsupported configuration attributes: [瀏覽角色, 修改用戶, 瀏覽用戶, 修改角色]
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:230)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:287)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:126)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
解決:
初始化資源方法:
public LinkedHashMap<String, String> getRequestMap() throws Exception {//NOSONAR
List<Resource> resourceList = securityEntityManager.getUrlResourceWithAuthorities();
LinkedHashMap<String, String> requestMap = new LinkedHashMap<String, String>(resourceList.size());
for (Resource resource : resourceList) {
requestMap.put(resource.getValue(), resource.getAuthNames());
}
return requestMap;
}
中的此方法:
resource.getAuthNames():
return ReflectionUtils.convertElementPropertyToString(authorityList, "displayName", ",");
displayName修改爲name