springboot结合自定义标签库以及freemarker如何引入自定义标签库

第一个问题是我在后台创建类 extends TagSupport,并配置*.tld文件,项目是springboot,但是没有创建WEB-INF与web.xml,那这个配置与*.tld文件怎么放置与引用呢。
第二个问题是freemarker如何导入jsp标签并使用。

目录结构:
project
-src/main/java
-src/main/resource
-mapper
-public(静态资源文件)
-template(freemarker页面)
-src/test/java
-Maven xxx
-JRE xxx
-logs
-public
-src
-main(空文件夹)
-tes

0

4个回答

今天有空,看了下freemarker的代码流程,大概是可以兼容jsp的。私信不能发图,就这边说了。如果问题已经解决了,就当交流,看看吧
c.tld为例
1.项目目录是这样的,标签文件在这里
图片说明
2.boot代码配置是这样的
图片说明
3.html中的引用是这样的,"http://java.sun.com/jsp/jstl/core"为c.tld的uri
图片说明
4.html中的调用是这样的
图片说明
5.稍微试了上面几种标签,使用同一个标签,freemarker还是不同于jsp的,jsp自己有自己的实现机制。例如上面的foreach中没定义 var 属性,因为定义后freemarker并不能获取到。同理凡是其他含有类似var的属性的jsp标签,应该都是不行的
其他的单纯功能性的标签,基本都可以,如上图的if标签(格式不同),when标签,单纯的foreach(无var)都可以运行,题主需要使用其他的话 可以自己尝试一下。但freemarker自己的功能已经完全可以了。。。兼容jsp很虐心
6.补一张依赖图
图片说明
7.(逃,反正题主肯定也不会看这个问题了

1
qq_24320957
Vickllny 写的很好 多谢层主!
大约一年之前 回复
qq_23968611
凉情丶凉心 老铁没毛病很不巧,刚好看到
接近 2 年之前 回复

哇文件目录一团糟,其实目录就是想让你们清楚的传达*.tld文件我要放在哪个位置,哈哈别在意,如果不行的话评论下我再贴个目录出来

0

【1】template目录,,,你的项目里面有没有,,这个目录是放资源的,,放进去就应该可以访问。
WEB-INF与web.xml,,,springboot里面貌似不需要(我创建的时候里面没有)

网上还有中方法,价格配置类,你可以试试:链接:http://www.cnblogs.com/chry/p/5877979.html

 @Configuration
public class MyWebAppConfig extends WebMvcConfigurerAdapter {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/myResource/**").addResourceLocations("classpath:/myResource/");
        super.addResourceHandlers(registry);
    }    
}

【2】第二个问题,,你看看这个博客http://blog.csdn.net/coslay/article/details/37815659

0
Small_Mouse0
小鼠标丶 回复qq_23968611: 嗯,你先试试
接近 2 年之前 回复
qq_23968611
凉情丶凉心 嗯我知道了,我先查查springboot配置web试试看看吧
接近 2 年之前 回复
Small_Mouse0
小鼠标丶 回复qq_23968611: springboot也有配置文件的,,,“\resources\application.yml”(后缀可能不一样),,这个配置文件,基本上需要用到的配置都有,,自定义jsp标签我还没弄过,这个配置文件很全配置内容和springMVC这些一样,你可以先试试,,我平时用IDEA,这个文件自动提示还是相当方便的
接近 2 年之前 回复
qq_23968611
凉情丶凉心 嗯嗯,不使用springboot的项目要在WEB-INF下创建*.tld,并且要在web.xml中配置<jsp-servlet>标签去指向后台自定义标签实现控制的代码类,springboot要怎么完成这个动作哇。springboot不太理解他的web配置
接近 2 年之前 回复

不知道是不是已经解决了问题,稍微试了下,普通的方式不太行得通。说一下思路 也许对题主有帮助
springboot在非web模式下的项目下且使用了freemarker,想用freemarker也能使用jsp标签
第一个尝试的是直接在freemarker的configure里进行添加,这样子操作能够使ftl文件政策 assgin tld文件,但解析的时候会报缺少objecgWapper类,大概这边还少了一步操作,这部分需要详细看下源码才能解决
@Autowired
private FreeMarkerConfigurer freeMarkerConfigurer;

@PostConstruct
public void loadClassPathTlds() {
    freeMarkerConfigurer.getTaglibFactory().setClasspathTlds(classPathTldList);
}

第二个尝试,就是直接修改源码,源码原本的获取方式是直接读取WEB-INFO下的web.xml文件,修改这个方式就好。这个尝试git上有人尝试过,但好像效果不好。
其实还可以尝试一下,理解boot的web.xml文件的表达形式,应该也能达到目的
上面几个思路,工作日没有时间深入研究,所以也只能算是给题主提个方向。日后有结果的话,再私信题主吧,如果没时间,然后忘记了,题主就当没这回事吧。。。(逃

0
vane11
Vane11 回复qq_23968611: 主要还是因为没有涉及过这样的标签库问题,jsp能做的,freemarker基本也能做。新问题需要点时间
接近 2 年之前 回复
vane11
Vane11 回复qq_23968611: 不做调整的情况下,直接assign引入 ,应该是不行的,这个和静态资源也没有关系;不做代码上的修改,直接引入的话,我之前都是失败的;没有时间好好弄这个,过了双休再来看看,我还是更加倾向重写freemarker的configure类,boot也支持这样的做法,吃早饭,(逃
接近 2 年之前 回复
qq_23968611
凉情丶凉心 装完逼就跑真刺激。哈哈哈,现在还没解决呢,正想跳楼呢,已经迈出去了结果瞟了一眼手机发现有人回复,就从天台上下来了。有帖子说可以使用<#assign  FCK =JspTaglibs["/WEB-INF/FCKeditor.tld"]/> 去引入tld文件,然后使用<@FCK.editor id="EditorDefault"  ..  />,等会试一下。springboot没有WEB-INF的话我的*.tld文件直接放在src/main/resource中的static目录下就可以引入tld路径吗  
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
FreeMark结合spring boot制作自定义标签
1.1 fileTag, 文件标签, 根据fileId值得到云端 代码如下: package com.doui.business.service.tag; import java.io.IOException; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; impor...
在Freemarker中使用JSP标签库
Freemarker作为Struts2的其中一种结果类型,可以像在jsp页面一样使用JSP标签库,但在使用之前需要做一些特殊的配置。   1、需要在web.xml文件中配置以下信息,让Struts2在freemarker中支持标签功能 &amp;lt;servlet&amp;gt; &amp;lt;servlet-name&amp;gt;JspSupportServlet&amp;lt;/servlet-name&amp;gt; ...
请问在FreeMarker中如何引用JSTL标签
JSTL的标签可以得到应用程序的部署目录,但是FreeMarker中如何知识应用程序的部署目录呢?在Google和Baidu以及各大论坛都狂搜索了一气,可以还是没有结果。 http://smile6688.iteye.com/blog/49642 说明了FreeMarker引用Struts标签的方法,不知道FreeMarker能否引用JSTL的标签,如何引用呢?或者有没有什么办法可...
springmvc+freemarker实现自定义标签
1.目标 如图是我们的目标页面的一部分,因为类目列表是每个 页面都需要展示的一部分,所以把这个属性列表提取出来,做成一个自定义标签,在不通的页面上直接引用标签,就可以直接展示了 2.编写数据提提供类,实现TemplateDirectiveModel接口 package com.dmall.mall.directive; import java.io.IOEx
freemarker介绍与封装shiro标签
freemarker简介什么是freemarker FreeMarker 是一款模板引擎:即一种基于模板、用来生成输出文本(任何来自于 HTML 格式的文本用来自动生成源代码)的通用工具。它是为 Java 程序员提供的一个开发包,或者 说是一个类库。它不是面向最终用户的,而是为程序员提供的一款可以嵌入他们所开发产品 的应用程序。 FreeMarker 实际上是被设计用来生成 HTML 页面,尤其
【自定义标签开发】11-标签案例-打包自己的标签库
我们之前学习了自定义标签开发的原理和一些小样例的开发,那么,我们开发之后的自定义标签怎么发布给别人来使用呢?接下来我们就学习一下如何打包自己的标签库。 要打包自己开发好的自定义标签,需要进行一下步骤: (1)创建一个Java project: (2)将写好的自定义标签处理器类拷贝到工程下: 注意:里面的工程报错是因为缺少了j2ee/jsp/servlet的包,这里我
如何引用自定义标签库中的tld文件
在JSP中使用标签是很平常的事情,在制作自定义标签时,通常都需要写tld文件来定义标签的各种属性,对应的java类,前缀等等。标签与tld文件紧紧相连,那么,到底应该怎么放置tld文件?在web.xml中怎么定义tld文件的位置? 以下是具体的分析 Ø  Taglib的使用: 首先是在头部申明taglib, uri必须是web.xml定义的,或者是原始tld文件定义的。
java自定义标签库的开发
java自定义标签库的开发 第14章 自定义标签库的开发  14.1 自定义标签介绍 14.2 HelloWorld标签的开发 14.3 开发带Body的标签库 14.4 多个标签的嵌套 14.5 开发迭代的标签库 14.6 SimpleTag开发 14.1 标签语言的介绍 本章开头 下一节 JSP标签库(也称自定义库)可看成是一套产生基于XML脚本的
taglibDemo.rar
自定义标签库自定义标签库自定义标签库自定义标签库
springboot 自定义权限标签(tld),在freemarker引用
第一步:引入jar包 <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2.1-b03</version> </dependency> 第二步:自定义标签类im
自定义标签库入门
自定义标签1. 步骤  * 标签处理类(标签也是一个对象,那么就需要先有类!)  * tld文件,它是一个xml  * 页面中使用&amp;lt;%@taglib%&amp;gt;来指定tld文件的位置2. 标签处理类  SimpleTag接口:  * void doTag():每次执行标签时都会调用这个方法;  * JspTag getParent():返回父标签(非生命周期方法)  * void setPar...
Eclipse 自定义标签库
建立文件: SelfTag:自己创建的类(名字随便起) tag.tld:标签库的自定义文件(后缀必须为 .tld) web.xml:用于映射标签库的地址 TestTag.jsp:测试使用的jsp     SelfTag类 package com.Tag; import java.io.IOException; import java.sql.Connection; i...
sitemesh3.0 自定义标签
对于sitemesh3,官方只给出了 三个标签,但是对于一些特殊的需求是远远不能满足的,好了,不废话了,进入正题: 本文章是基于java类来配置的,先建好sitemesh的配置类SiteMeshFilter ,如下: public class SiteMeshFilter extends ConfigurableSiteMeshFilter { @Override protec
spring boot 如何创建和使用freemaker自定义标签
由于spring boot 简化了配置文件的,所以之前在配置文件中实现自定义freemaker标签,统一通过Java类实现。 之前spring MVC 的实现步骤: &amp;lt;!-- =========================freemarker VIEW定义 ========================= --&amp;gt; &amp;lt;bean id=&quot;freeMarkerConfig&quot;...
shiro与freemarker标签集成
关于shiro标签与freemarker模板引擎集成           最近开发的新系统中,使用到了shiro管理权限,前台页面采用freemarker模板来处理的,当前台页面有些按钮或者标签需要权限控制时,freemarker本身对struts2的标签库支持很到位,导入dtd文件(在struts核心包里)在web-info下就行了,然而对shiro的标签支持不是很完整,尽管提供了相关支持。下
JavaWeb学习篇之----自定义标签&&JSTL标签库详解
今天来看一下自定义标签的内容,自定义标签是JavaWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面就来看一下自定义标签的简介: 自定义标签主要用于移除Jsp页面中的java代码。 移除jsp页面中的java代码,只需要完成两个步骤: 编写一个实现Tag接口的Java类,并覆盖doStartT
添加freemarker的shiro标签
上次写的集成shiro的标签是直接通过maven导入的jar包,但是发现引入了很多无用的jar。现在直接通过代码导入shiro的标签。 1.首先新建一个BaseFreemarkView.java类,继承freemarker的视图类FreeMarkerView。 package com.business.util; import java.util.Map; import javax
SpringBoot 中freemarker自定义标签学习
SpringBoot 中freemarker自定义标签学习 为什么要自定义标签 能够自定义模型,对一些常见的公用返回数据,不用每次通过页面属性进行响应。 可以通过自定义标签,在页面进行不同的包装 开发准备 pom依赖: &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactI...
自定义标签库,导入异常,报500错误
HTTP Status 500 - The absolute uri: http://java.zcb.common cannot be resolved in either web.xml or the jar files deployed with this application http://java.zcb.common这是我自定义的标签库路经 错误原因 :未在web.xml中进行...
关于自定义标签库找不到路径的解决办法
前言 最近在学习怎么使用servlet进行自定义标签库的使用,发现一个问题,当我按照书上的代码复现时,死活都找不到标签库。进过分析查找资料,终于解决了这个棘手的问题。 问题说明 死活查找不到自己的自定义标签库,错误代码500。 网上很多人都遇到过这个毛病,有人说添加xml可以解决,有人说换个路径可以解决,经过尝试,终于解决我的这个棘手问题。 解决办法 添加xml &amp;l...
javaWeb---自定义标签库
一、九个内置对象 out –&amp;amp;gt; jsp的输出流,用来向客户端响应 page –&amp;amp;gt; 当前jsp对象! 它的引用类型是Object,即真身中有如下代码:Object page = this; config –&amp;amp;gt; 它对应真身中的ServletConfig对象! pageContext –&amp;amp;gt; 一个顶9个! request –&amp;amp;gt; HttpServletEequest res...
JSTL1.1函数标签库(functions)与 JSTL 自定义Function函数标签
JSTL1.1函数标签库(functions)与 JSTL 自定义Function函数标签学习要点JSTL1.1函数标签库(functions) JSTL 自定义Function函数标签JSTL1.1函数标签库(functions)在jstl中的fn标签也是我们在网页设计中经常要用到的很关键的标签,在使用的时候要先加上头 <%@ taglib uri="http://java.sun.com/jsp
TP5 标签库
TP5 标签库 如果为数组为空会报错is not set ‘key’。 在前端合页面时最好先判断isset或者是否为空
ThinkPHP标签库
一.内置标签 内置标签是在 Think/Library/Think/Template/TagLib 下。在完整版中提供了两个类文件:Cx.class.php(内置标签核心类) 、Html.class.php(html 扩展标签) 。  1、在ThinkPHP 中,Cx.class.php 是自动加载的,所以并不需要各种配置或引入而可以直接编写标签代码即可运行。  2、如果要使用
将自定义标签打包为jar包并提供给JSP使用
将自定义标签打包为jar包并提供给JSP使用
Springboot 标签使用
一、ConditionalOnProperty @Component @ConditionalOnProperty(name = &quot;evi.gateway.rabbitStatus&quot;, havingValue = &quot;open&quot;) public final class SendOrderHandle { 。。。。业务代码 } 通过配置属性,控制是否走业务逻辑 application.p...
Shiro教程(七)Shiro Freemarker标签的使用。
Shiro  提供了JSP 的一套JSTL 标签,用于做JSP 页面做权限控制的。可以控制一些按钮和一些超链接,或者一些显示内容。JSP 的下篇文章会讲到,这篇先讲讲 Freemarker  的 Shiro  标签。SSM(SpringMVC + Mybatis + Shrio + Redis) 集成的权限控制Demo地址:http://www.sojson.com/shiro引用包: &amp;l...
关于thinkphp5自定义标签库解析的问题
今天tp5的自定义标签库着实坑了我一把,原因有两点: 1.预加载标签是有缓存的,你设置了预加载标签库,要删除缓存后重新刷新才有效,否则无效,这导致我调试的时候不知道自己到底设置对了没有 2.我一直以为配置是会自动继承父级的配置的,也就是说,在模块中我只需要写好不同的配置就行,然后事实上一位数组的配置确实是这样,但是二位数组的时候第二层数组是会直接覆盖第一层数组的,举个栗子: 猜猜结果是什么,对了...
SpringMVC详解四、自带标签库及自定义参数转换器
1、SpringMVC标签库2、自定义参数转换器WebDataBinder3、(conversionService )自定义String到java.util.Date类型转换器4、(Validate)较验器----参数的有效性验证Validate----Hibernate(JSR303)5、(bindingResult)自定义错误信息的回显1、SpringMVC标签库(*用的不多*)1、搭建Spr...
【jsp】使用SimpleTagSupport自定义标签库
使用springmvc作为开发环境。 1,概述   自定义标签库是jsp api下的内容。通常一个自定义标签会包含3部分内容:标签处理类,tld标签描述文件,jsp文件(使用)。     *标签处理类:继承自 SimpleTagSupport类即可,重写其doTag()方法。我们在页面写了一个自定义标签,这个标签的最终输出内容就是在doTag方法里面实现的,调用getJspContext得到
springboot整合freemarker 自定义标签(实战)
使用springboot+shiro+freemarker做的管理系统,做到权限部分想到以前使用jsp整合shiro可以使用标签来控制权限: &amp;lt;shiro:hasPermission name=&quot;admin:add&quot;&amp;gt;     &amp;lt;label&amp;gt;这个用户拥有admin:add的权限&amp;lt;/label&amp;gt; &amp;lt;/shiro:hasPermission&amp;gt; 现...
使用自定义标签重写JSTL核心标签库if标签
使用自定义标签重写JSTL核心标签库标签使用自定义标签重写JSTL核心标签库标签 概述 实现 概述学习了自定义标签,并写了简单的测试demo之后,我决定要使用自定义标签实现JSTL核心标签库中的标签,选择了其中的三个标签进行重写,分别是:c:if c:choose+c:when+c:otherwise c:forEach,后续文章将按照自定义标签的开发方法进行重写。实现 c:if 标签的开发代码 p
struts中自定义标签引入到jsp中报错问题,不能引入问题
Can not find the tag library descriptor for "/Idefine-tags",前几天项目就出现这个问题,我没放在心上,不管它就去看文档和其他代码去了。因为平时导入项目都是鼠标右键项目——》找到build-path------》Configure build-path看看jar包路径是否正确,运行环境是是否有问题等等就解决的。 这次是其他什么都没有问题,唯
jsp页面引入标签库的问题
Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core".  Try increasing the   version of the Dynamic Web Module project facet, as this method of reference may not be supporte
标签库文件添加到eclipse项目中
步骤: 下载标签库文件JSTL文件,其文件夹lib下有jstl和standard两个Java文件。       2.在项目名称节点上,单击右键,选择Propertys,其页面如图:     3.单击Add Library。 4. 单击next 。     4. 单击 User Libraries。     5.单击new。       6.单
Freemarker标签示例
1、创建两个实体类 package com.website.laws.entity; /** * 栏目 * @author: Longjun * @Description: TODO * @date:2016年4月27日 下午2:21:52 */ public class Column { protected Long id;//法规ID private String colu
thinkphp5 tablib标签库自定义
官方文档的标签库使用教程没有写得太细,自己摸索出来了一些。 先放一段写好的面包碎代码 namespace app\Common\taglib; use \think\template\TagLib; class UntilTag extends TagLib { protected $tags = array( 'breadcrumb' => array
JSP 引入本地C标签/国际化标签库
1、下载 tld 文件 :地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ 选一个版本:jakarta-taglibs-standard-1.1.0.zip ; 2、解压下载文件:面有  jstl.jar 和 standard.jar 引入项目中; 3、将tld文件夹作为静态we放入项目中; 4、在jsp...
Web---JSTL(Java标准标签库)-Core核心标签库、I18N国际化、函数库
前面为JSTL中的常用EL函数,后面的为具体演示实例!JSTL简介:JSTL(Java Standard Tag Library) –Java标准标签库。 SUN公司制定的一套标准标签库的规范。 JSTL标签库,是由一些Java类组成的。JSTL组成:JSTL –Core 核心标签库。 重点 JSTL – I18N - 国际化标签库。Internationalization- I18N
Freemarker 自定义标签实现
摘要: 采用的是freemarker版本 2.3.21 采用 BeansWrapperBuilder替代DEFAULT_WRAPPER 的方式。 1  自定义标签需要实现TemplateDirectiveModel这个接口中的execute方法  实例代码如下 public class UserListDirective implements TemplateDirective
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 微信公众号自定义开发教程 微信企业号自定义开发教程