主题:include 标签使用问题

xinjirufen 2018年12月26日 73

由于页面有公共部分,我想在一个页面中引入另一个页面,通过在线文档找到了include标签。但是我通过以下两种方式,

<% include("/pushtask/topushdataDemo", {"taskId":taskId!''}){} %>
 <% include(ctxPath + "/pushtask/topushdataDemo", {"taskId":taskId!''}){} %>

会出现错误:错找不到指定模板或者加载错(TEMPLATE_LOAD_ERROR): 位于0行 资源:/pushtask/topushdataDemo。 其中pushtask/topushdataDemo是映射到一个controller的方法,controller的方法代码如下

@RequestMapping(value = "/topushdataDemo")
 public String topushdataDemo(HttpServletRequest request, HttpServletResponse response, Model model) {
 String taskId = StringHelper.checkNull(request.getParameter("taskId"));
 model.addAttribute("taskId", taskId); 
 return "/datapush/pushdataDemo"; 
 }

我又尝试通过以下方式:

<%
include("/datapush/pushdataDemo.htm", {"taskId":taskId!''}){}
%>

 

 可以访问到页面。

请问下:include标签如何经过controller后可以正确找到模版路径?

我的项目中beetl已经和spring集成好了,配置如下:

<!-- Beetl视图解析器1 -->
 <bean name="beetlViewResolver" class="org.beetl.ext.spring.BeetlSpringViewResolver">
  <!-- 多视图解析器,需要设置viewNames和order -->
  <!--  <property name="viewNames">
   <list>
    <value>/template/**</value>
   </list>
  </property> -->
  <!-- <property name="prefix" value="/WEB-INF/views/" />  -->
  <property name="suffix" value=".htm"/>
  <property name="contentType" value="text/html;charset=UTF-8"/>
  <!-- 多GroupTemplate,需要指定使用的bean -->
  <property name="config" ref="beetlConfig"/>
  <property name="order" value="0"/>
 </bean>
 <bean name="beetlConfig" class="org.beetl.ext.spring.BeetlGroupUtilConfiguration" init-method="init">
  <property name="configFileResource" value="classpath:beetl.properties"/>
 </bean>
bnbzai 2018年12月27日

include标签只能载入静态文件,如果你想使用一个动态的地址来进行数据的载入,可使用自定义标签完成页面渲染。如下图:微信图片_20181227085242.png1.png2.png

闲大赋 2018年12月27日

官网提供了一个includeJSP,完成类似功能,你说的include,参数是模板,而不是一个url

闲大赋 2018年12月27日

官网提供了一个includeJSP,完成类似功能,你说的include,参数是模板,而不是一个url