Apache Struts 2 Documentation > Home > Guides > Tag Developers Guide > Struts Tags > UI Tags > Themes and Templates > ajax theme > ajax head template |
The ajax head template builds upon the xhtml head template by providing additional JavaScript includes for the Dojo Toolkit, which is used by the ajax a template, ajax div template , and the ajax tabbedPanel template. It is required to use this tag, <ww:head theme="ajax"/>, in your HTML <head> block if you wish to use AJAX feature. The contents of head.ftl are:
<script language="JavaScript" type="text/javascript"> // Dojo configuration djConfig = { isDebug: ${parameters.debug?default(false)?string}, bindEncoding: "${parameters.encoding}", <#if parameters.baseRelativePath?if_exists != ""> baseRelativePath: "<@s.url value='${parameters.baseRelativePath}' includeParams='none' encode='false' />", baseScriptUri: "<@s.url value='${parameters.baseRelativePath}' includeParams='none' encode='false' />", <#else> baseRelativePath: "<@s.url value='/struts/dojo/' includeParams='none' encode='false' />", baseScriptUri: "<@s.url value='/struts/dojo/' includeParams='none' encode='false' />", </#if> <#if parameters.locale?if_exists != ""> locale: "${parameters.locale}", </#if> <#if parameters.extraLocales?exists> extraLocale: [ <#list parameters.extraLocales as locale> "${locale}", </#list> ] </#if> }; </script> <#if parameters.compressed?default(true)> <#assign dojoFile="dojo.js"> <#else> <#assign dojoFile="dojo.js.uncompressed.js"> </#if> <#if parameters.cache?default(false)> <#assign profile="struts_"> <#else> <#assign profile=""> </#if> <#if parameters.baseRelativePath?if_exists != ""> <script language="JavaScript" type="text/javascript" src="<@s.url value='${parameters.baseRelativePath}/${profile}${dojoFile}' includeParams='none' encode='false' />"></script> <#else> <script language="JavaScript" type="text/javascript" src="<@s.url value='/struts/dojo/${profile}${dojoFile}' includeParams='none' encode='false' />"></script> </#if> <script language="JavaScript" type="text/javascript" src="<@s.url value='/struts/ajax/dojoRequire.js' includeParams='none' encode='false' />"></script> <script language="JavaScript" type="text/javascript" src="<@s.url value='/struts/CommonFunctions.js' includeParams='none' encode='false'/>"></script>
![]() |
If you are having trouble getting the AJAX theme to work, you should include the above JavaScript in your page manually, changing "isDebug: false" to "isDebug: true". This will log out debugging information directly to the screen. |
Note that Dojo is configured to use the same character encoding specified in struts.properties, typically UTF-8. For a simple example of how to use the head tag with the AJAX theme, simply do the following in your HTML:
<sx:head debug="true"/>
![]() |
The above sample is from Struts trunk; for 2.0.6 you should use <s:head debug="true"/>. |