您的位置:首页 > Web前端

freemarker.core.InvalidReferenceException: Expression parameters.parseContent is undefined on line 45, column 28 in template/aja

2011-05-28 11:22 621 查看



严重: Expression parameters.parseContent is undefined on line 45, column 28 in template/ajax/head.ftl.

Expression parameters.parseContent is undefined on line 45, column 28 in template/ajax/head.ftl.

The problematic instruction:

----------

==> ${parameters.parseContent?string} [on line 45, column 26 in template/ajax/head.ftl]

----------

Java backtrace for programmers:

----------

freemarker.core.InvalidReferenceException: Expression
parameters.parseContent is undefined on line 45, column 28 in
template/ajax/head.ftl.

at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)

at freemarker.core.TemplateObject.invalidTypeException(TemplateObject.java:134)

at freemarker.core.BuiltIn$stringBI._getAsTemplateModel(BuiltIn.java:362)

at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)

at freemarker.core.Expression.getStringValue(Expression.java:93)

at freemarker.core.DollarVariable.accept(DollarVariable.java:76)

at freemarker.core.Environment.visit(Environment.java:210)

at freemarker.core.MixedContent.accept(MixedContent.java:92)

at freemarker.core.Environment.visit(Environment.java:210)

at freemarker.core.Environment.process(Environment.java:190)

at freemarker.template.Template.process(Template.java:237)

at org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:157)

at org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:559)

at org.apache.struts2.components.UIBean.end(UIBean.java:513)

at org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42)

at org.apache.jsp.gene.login_jsp._jspx_meth_struts_005fhead_005f0(login_jsp.java:132)

at org.apache.jsp.gene.login_jsp._jspService(login_jsp.java:97)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)

at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)

at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)

at org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:159)

at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)

at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277)

at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)

at
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)

at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)

at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Thread.java:595)

出现此问题的原因:在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页面,一般为:<%@ taglib prefix="sx"
uri="xxxxxxx"/>,并将前面的ajax主题声明改成<sx:head/>,ok,重新启动服务,问题解决。

struts2.1 Tabbedpanel标签实现选项卡效果

(2009-08-30 15:26:31)



转载

标签:

struts2.1

tabbedpanel

ajax标签

实现选项卡效果

it

分类:
SSH框架
struts2.1提供Ajax标签实现各种选项卡效果

按照下面操作进行

1.现在使用的时候首先要导入一个库 :

struts2-dojo-plugin-2.1.6.jar


2.在要生成日期控件的页面头部加上:

<%@ taglib prefix="s"
uri="/struts-tags"%>

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


3.然后在web页面的
head标签下面加上<sx:head/>


也可以加上下面两句话


<s:head theme=
"xhtml"
/>

<sd:head parseContent="true"
/>

4.实现各种选项卡效果的示例:

<%@ page language="java" contentType="text/html;
charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ taglib uri="/struts-tags"
prefix="s"%>

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

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd
">

<html>

<head>

<meta
http-equiv="Content-Type" content="text/html;
charset=UTF-8">

<title>struts2.1选项卡标签Tabbedpanel示例</title>

<sx:head
/>

</head>

<body>

<!-- tabbedpanel标签 -->

<!-- 最简单的选项卡,两个选项卡加载都是本页面 -->

<hr
color="blue">

<b>最简单的选项卡:</b>

<br>

<sx:tabbedpanel id="tab1">

<sx:div label="Tab 1" >

Local Tab 1

</sx:div>

<sx:div label="Tab 2" >

Local Tab 2

</sx:div>

</sx:tabbedpanel>

<!-- 加载其他页面的选项卡 -->

<hr
color="blue">

<b>加载其他页面的选项卡:</b>

<br>

<sx:tabbedpanel
id="tab2">

<sx:div
label="Remote Tab 1" href="upload.jsp">

Remote Tab 1

</sx:div>

<sx:div label="Remote Tab 2"
href="multipleUpload.jsp" >

Remote Tab 1

</sx:div>

</sx:tabbedpanel>

<!-- 设置选项卡底下的内容懒加载,即等需要的时候再加载
,使用属性preload="false"-->

<hr
color="blue">

<b>设置选项卡底下的内容懒加载,即等需要的时候再加载
,使用属性preload="false":</b>

<br>

<sx:tabbedpanel id="tab3">

<sx:div label="Remote Tab 1"
href="upload.jsp">

Remote Tab 1

</sx:div>

<sx:div label="Remote Tab 2"
href="multipleUpload.jsp" preload="false">

Remote Tab 1

</sx:div>

</sx:tabbedpanel>

<!-- 固定大小的选项卡 -->

<hr
color="blue">

<b>固定大小的选项卡,使用属性cssStyle和doLayout:</b>

<br>

<sx:tabbedpanel cssStyle="width: 200px; height:
100px;" doLayout="true" id="tab4">

<sx:div label="Tab 1" >

Local Tab 1

</sx:div>

<sx:div label="Tab 2" >

Local Tab 2

</sx:div>

</sx:tabbedpanel>

<!-- 每次点击选项卡时都重新刷新内容 -->

<hr
color="blue">

<b>每次点击选项卡时都重新刷新内容,使用属性refreshOnShow:</b>

<br>

<sx:tabbedpanel
id="tab5">

<sx:div label="Remote Tab 1" href="upload.jsp"
refreshOnShow="true">

Remote Tab 1

</sx:div>

<sx:div label="Remote Tab 2"
href="multipleUpload.jsp"
refreshOnShow="true">

Remote Tab 2

</sx:div>

</sx:tabbedpanel>

<!-- 使得其中一个选项卡失效 -->

<hr
color="blue">

<b>使得其中一个选项卡失效:</b>

<br>

<sx:tabbedpanel id="tab6">

<sx:div label="Tab 1" >

Local Tab 1

</sx:div>

<sx:div label="Tab 2"
disabled="true">

Local Tab 2

</sx:div>

</sx:tabbedpanel>

<!-- 设置选项卡在底部显示 (可以是: top, right, bottom, left)
-->

<hr
color="blue">

<b>设置选项卡在底部显示
(可以是: top, right, bottom,
left):</b>

<br>

<sx:tabbedpanel
id="tab7" labelposition="bottom"
cssStyle="width:200px;height:100px;"
doLayout="true">

<sx:div label="Tab 1" >

Local Tab 1

</sx:div>

<sx:div label="Tab 2" >

Local Tab 2

</sx:div>

</sx:tabbedpanel>

<!-- 设置选项卡允许关闭,使用属性closeable
-->

<hr
color="blue">

<b>设置选项卡允许关闭,使用属性closeable:</b>

<br>

<sx:tabbedpanel
id="tab8">

<sx:div label="Tab 1" >

Local Tab 1

</sx:div>

<sx:div label="Tab 2"
closable="true">

Local Tab 2

</sx:div>

</sx:tabbedpanel>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐