入手SpringSide 應用過程出現的異常~

版本:SpringSide3.2.2
數據庫: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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章