我很难弄清楚这件事。我只想在我需要的某些页面上插入某些CSS和JS文件。因此,我在平铺定义文件中做了类似的操作:
<definition name="datepickerScripts" template="/WEB-INF/jsp/insertScripts.jsp">
<put-list-attribute name="scriptsList" cascade="true">
<add-attribute value="js/jquery-ui.min.js" />
<add-attribute value="js/setup-datepicker.js" />
</put-list-attribute>
</definition>
<definition name="formValidationScripts" template="/WEB-INF/jsp/insertScripts.jsp">
<put-list-attribute name="scriptsList" cascade="true">
<add-attribute value="js/validate.min.js" />
<add-attribute value="js/formValidationHelpers.js" />
</put-list-attribute>
</definition>
<definition name="addUser" extends="layout">
<put-attribute name="title" value="users.add" />
<put-attribute name="content" value="/WEB-INF/jsp/addUser.jsp" />
<put-attribute name="datepickerScriptBundle" type="definition">
<definition extends="datepickerScripts" />
</put-attribute>
</definition>
这是insertScripts.jsp电码:
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<%@ taglib uri="http://tiles.apache.org/tags-tiles-extras" prefix="tilesx" %>
<spring:url value="/" var="url" />
<tilesx:useAttribute id="list" name="scriptsList" classname="java.util.List" />
<c:forEach var="item" items="${list}">
<script type="text/javascript" src="${url}${item}"></script>
</c:forEach>
所以我在我的baseLayout页面中这样调用它,它是addUser页面的父页面:
<tiles:insertAttribute name="datepickerBundleScript" ignore="true" />
问题是它抛出了以下异常:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.apache.tiles.request.render.CannotRenderException: ServletException including path '/WEB-INF/jsp/baseLayout.jsp'.
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:965)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:844)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:717)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1644)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:164)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1615)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1632)
at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:180)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1624)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1110)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:479)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1044)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:459)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:281)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:232)
at org.eclipse.jetty.io.AbstractConnection$1.run(AbstractConnection.java:505)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.tiles.request.render.CannotRenderException: ServletException including path '/WEB-INF/jsp/baseLayout.jsp'.
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:399)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:238)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:221)
at org.apache.tiles.renderer.DefinitionRenderer.render(DefinitionRenderer.java:59)
at org.springframework.web.servlet.view.tiles3.TilesView.renderMergedOutputModel(TilesView.java:145)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:263)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1208)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
... 33 more
Caused by: java.io.IOException: ServletException including path '/WEB-INF/jsp/baseLayout.jsp'.
at org.apache.tiles.request.servlet.ServletUtil.wrapServletException(ServletUtil.java:61)
at org.apache.tiles.request.servlet.ServletRequest.forward(ServletRequest.java:267)
at org.apache.tiles.request.servlet.ServletRequest.doForward(ServletRequest.java:228)
at org.apache.tiles.request.AbstractClientRequest.dispatch(AbstractClientRequest.java:57)
at org.apache.tiles.request.render.DispatchRenderer.render(DispatchRenderer.java:47)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:259)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:397)
... 43 more
Caused by: org.apache.tiles.template.NoSuchAttributeException: Attribute 'null' not found.
at org.apache.tiles.template.DefaultAttributeResolver.computeAttribute(DefaultAttributeResolver.java:50)
at org.apache.tiles.template.InsertAttributeModel.resolveAttribute(InsertAttributeModel.java:165)
at org.apache.tiles.template.InsertAttributeModel.execute(InsertAttributeModel.java:121)
at org.apache.tiles.jsp.taglib.InsertAttributeTag.doTag(InsertAttributeTag.java:299)
at org.apache.jsp.WEB_002dINF.jsp.baseLayout_jsp._jspx_meth_tiles_insertAttribute_4(baseLayout_jsp.java:317)
at org.apache.jsp.WEB_002dINF.jsp.baseLayout_jsp._jspService(baseLayout_jsp.java:142)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:473)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:377)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:717)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:586)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1110)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:479)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1044)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:261)
at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:101)
at org.apache.tiles.request.servlet.ServletRequest.forward(ServletRequest.java:265)
... 48 more
我很尴尬。我的代码没有错。我刚刚删除了注释的代码之后
管理 CSS 的推荐方法是简单地使用 *.vue 单个文件组件内的 <style>,它提供: 与 HTML 并列同级,组件作用域 CSS 能够使用预处理器(pre-processor)或 PostCSS 开发过程中热重载(hot-reload) 更重要的是,vue-style-loader(vue-loader 内部使用的 loader),具备一些服务器端渲染的特殊功能: 客户端和服务器端的通用编
我正在应用程序中扩展Bootstrap主题。我想通过主题包含一些css和js文件。 我试过将服务器上的资源放在一个文件夹中。我试过将资源放在应用程序Web-Content文件夹中的“KendoUI”中。这两种方法似乎都不起作用。当我在应用程序中打开Xpage时,它似乎没有加载任何东西。 如果我将资源直接放在Xpage中,我可以看到文件在那里(通过Chrome)。 主题中我的语法有错误吗? 顺便说一
问题内容: Jenkins是否可以管理一些资源?我的意思是说,只有一定数量的作业可以并行运行。例如,我的许可证服务器只能提供4个许可证,因此使用该许可证的每个作业应首先检查某个计数器是否大于零,然后再减少并在不再需要许可证后递减。有排除插件,但我认为它只能创建互斥(计数器等于1),不能创建信号量(计数器等于1或更大)。脚本中的简单变量不是解决方案,因为主机和所有从机必须可见同一计数器。有什么想法如
投资管理 跨境贸易 在国际贸易活动中,买卖双方可能互不信任。因此需要两家银行作为买卖双方的保证人,代为收款交单,并以银行信用代替商业信用。 区块链可以为信用证交易参与方提供共同账本,允许银行和其它参与方拥有经过确认的共同交易记录并据此履约,从而降低风险和成本。 一带一路 一带一路中对区块链技术的探索应用,能让原先无法交易的双方(例如,不存在都认可的国际货币情况下)完成交易,并且降低贸易风险、减少成
管理 CSS 的推荐方法是简单地使用*.vue单个文件组件内的<style>,它提供: 与 HTML 并列同级,组件作用域 CSS 能够使用预处理器(pre-processor)或 PostCSS 开发过程中热重载(hot-reload) 更重要的是,vue-style-loader(vue-loader内部使用的 loader),具备一些服务器端渲染的特殊功能: 客户端和服务器端的通用编程体验。
我试图完全清理资源组在Azure。 删除资源组不是选项(访问权限:参与者,而不是所有者) 做到这一点的最优雅和明显的方法(也在一些文章中描述)是使用“空”部署模板执行完整的部署: 删除SQL Server开始“...”接受“...”失败“...”开始“...”接受“...”失败“... 你想到主意了。 其他时候效果很好。 您将得到数据库删除的无限循环“开始..接受..失败..开始..接受..失败.