在struts-2.2.3.1中加入這個標籤,報錯

在已經引入/MyStruts/WebRoot/WEB-INF/lib/struts2-dojo-plugin-2.1.8.jar包的狀況下,若是我使用html

<s:head theme="ajax"/>,會拋以下異常:java

 Class: freemarker.core.TemplateObject File: TemplateObject.java Method: assertNonNullajax

若是我沒有引入struts2-dojo-plugin-2.1.8.jar包會拋出以下異常:jsp

Expression parameters.parseContent is undefined on line 45, column 28 in template/ajax/head.ftl. - Class: freemarker.core.TemplateObject插件

File: TemplateObject.java出錯,後網上一查緣由爲出現此問題的緣由:在jsp頁面用到了struts提供的ajax主題,可是聲明主題時出現問題,struts2.0到struts2.1有一個重要的改變就是對ajax支持的改變,struts2.0的ajax支持主要以DWR和dojo爲主,並專門提供ajax主題,如:<s:head theme="ajax"/>,可是在struts2.1不在提供ajax主題,而將原來的ajax主題放入了dojo插件中,咱們須要將dojo標籤引入到jsp頁面,htm

在改成<%@ taglib uri="/struts-tags" prefix="s" %> io

<%@ taglib uri="/struts-dojo-tags" prefix="sx" %>struts2

<sx:head theme="ajax"/>會拋以下異常:plugin

後又出現異常Attribute theme invalid for tag head according to TLDstruts


解決辦法:

<sx:head theme="ajax" />改爲下面這兩行,其餘的不用改:

<s:head theme="xhtml"/>

<sx:head parseContent="true"/>

相關文章
相關標籤/搜索