这个问题之前已经被问过很多次了,但和这个不太一样。一切似乎都在正确的位置上。我正在使用 Java8、Eclipse、Maven、Struts2 以及 Convention Plugin、Spring、Tiles 和注释。上下文根是相等的,仅供参考。
我正在使用的 jar 文件:
我在日志中看到的唯一错误是:
这是我拥有的标准 Action 类。
package com.icumed.ifactory.qa.web.actions;
public class ElementsAction extends ActionSupport
{
@Action(value = "/elements-page", results =
{
@Result(name = "success", type = "tiles", location = "elements")
})
public String execute()
{
return SUCCESS;
}
@Action(value = "/element", results =
{
@Result(name = "success", type = "tiles", location = "element")
})
public String getElement() throws ApplicationException
{
return super.get();
}
@Action(value = "/elements", results =
{
@Result(name = "success", type = "json", params =
{
"root",
ROOT_ELEMENT_TAG,
"excludeNullProperties",
"false",
})
})
public String search() throws ApplicationException
{
return super.search();
}
}
这是我完整的
struts.xml
:
<struts>
<constant name="struts.custom.i18n.resources" value="iquality_messages" />
<constant name="struts.ui.theme" value="xhtml" />
<constant name="struts.multipart.enabled" value="true" />
<constant name="struts.json.dateformat" value="EEE, dd MMM yyyy HH:mm:ss zzz" />
<constant name="struts.objectFactory" value="spring" />
<constant name="struts.convention.action.includeJars" value=".*?/ifactory.*?jar(!/)?" />
<constant name="struts.convention.exclude.parentClassLoader" value="true" />
<constant name="struts.convention.action.fileProtocols" value="jar,file,zip,vfs,vfsfile,vfszip" />
<constant name="struts.convention.default.parent.package" value="convention-json-tiles" />
<package name="convention-json-tiles" namespace="/" extends="struts-default">
<result-types>
<result-type name="json" class="org.apache.struts2.json.JSONResult" />
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<default-interceptor-ref name="defaultStack" />
<global-results>
<result name="Exception">/WEB-INF/content/application_exception.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping exception="java.lang.Exception" result="Exception" />
</global-exception-mappings>
</package>
</struts>
我错过了什么或者我做错了什么?
这是一个 WebLogic 问题。我正在使用 WebLogic 12.1.3,并且必须将以下内容添加到 weblogic.xml
<wls:container-descriptor>
<wls:prefer-application-packages>
<wls:package-name>org.objectweb.asm.*</wls:package-name>
<wls:package-name>org.springframework.web.servlet.*</wls:package-name>
<wls:package-name>org.springframework.web.*</wls:package-name>
<wls:package-name>org.hibernate.validator.*</wls:package-name>
<wls:package-name>javax.validation.*</wls:package-name>
<wls:package-name>javax.validation.spi.*</wls:package-name>
<wls:package-name>javassist.util.proxy..*</wls:package-name>
</wls:prefer-application-packages>
<wls:show-archived-real-path-enabled>true</wls:show-archived-real-path-enabled>
</wls:container-descriptor>