Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jimureport-drag:2.0.1 报错 java.lang.IllegalStateException: No TaglibFactory available #6021

Closed
renfei opened this issue Mar 20, 2024 · 5 comments

Comments

@renfei
Copy link

renfei commented Mar 20, 2024

版本号:

3.6.3

<dependency>
    <groupId>org.jeecgframework.jimureport</groupId>
    <artifactId>jimureport-drag</artifactId>
    <version>2.0.1</version>
</dependency>
前端版本:

vue3版

问题描述:

访问http://localhost:8080/jeecg-boot/drag/index?pageId=874452016289599488&token=

在仪表盘设计器中,报错 java.lang.IllegalStateException: No TaglibFactory available

点我展开看
java.lang.IllegalStateException: No TaglibFactory available
	org.springframework.util.Assert.state(Assert.java:76)
	org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer.getTaglibFactory(FreeMarkerConfigurer.java:148)
	org.springframework.web.servlet.view.freemarker.FreeMarkerView.initServletContext(FreeMarkerView.java:173)
	org.springframework.web.context.support.WebApplicationObjectSupport.initApplicationContext(WebApplicationObjectSupport.java:82)
	org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:78)
	org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:128)
	org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:102)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:431)
	org.springframework.web.servlet.view.UrlBasedViewResolver.applyLifecycleMethods(UrlBasedViewResolver.java:615)
	org.springframework.web.servlet.view.UrlBasedViewResolver.loadView(UrlBasedViewResolver.java:550)
	org.springframework.web.servlet.view.AbstractCachingViewResolver.createView(AbstractCachingViewResolver.java:275)
	org.springframework.web.servlet.view.UrlBasedViewResolver.createView(UrlBasedViewResolver.java:491)
	org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName(AbstractCachingViewResolver.java:174)
	org.springframework.web.servlet.view.ContentNegotiatingViewResolver.getCandidateViews(ContentNegotiatingViewResolver.java:310)
	org.springframework.web.servlet.view.ContentNegotiatingViewResolver.resolveViewName(ContentNegotiatingViewResolver.java:228)
	org.springframework.web.servlet.DispatcherServlet.resolveViewName(DispatcherServlet.java:1447)
	org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1382)
	org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1150)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)
	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
	org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
	org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:114)
	org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
	org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
	org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
	org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:458)
	org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:373)
	org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
	org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:370)
	org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
	org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:88)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
	org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
	org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
	org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:458)
	org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:373)
	org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
	org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:370)
	org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154)
	org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
截图&代码:

跟踪到:org.jeecg.modules.drag.b.a#a(javax.servlet.http.HttpServletRequest, java.lang.String, java.lang.String, org.springframework.ui.Model)

    @RequestMapping({"/index"})
    public String a(HttpServletRequest var1, @RequestParam(name = "pageId",required = false,defaultValue = "") String var2, @RequestParam(name = "token",required = false,defaultValue = "") String var3, Model var4) {
        d.info(" index 登录令牌token: " + var3);
        this.onlDragTokenClient.verifyToken(var1);
        String var5 = org.jeecg.modules.drag.util.a.a(var1);
        var4.addAttribute("token", var3);
        var4.addAttribute("domainURL", var5);
        var4.addAttribute("pageId", var2);
        var4.addAttribute("compName", "DragEngine");
        return "/drag/view/index";
    }

执行return "/drag/view/index";以后报错

友情提示(为了提高issue处理效率):

  • 未按格式要求发帖,会被直接删掉;
  • 描述过于简单或模糊,导致无法处理的,会被直接删掉;
  • 请自己初判问题描述是否清楚,是否方便我们调查处理;
  • 针对问题请说明是Online在线功能(需说明用的主题模板),还是生成的代码功能;
@zhangdaiscott
Copy link
Member

应该是本地环境问题,看看maven jdk等配置

@sunjulei
Copy link

image
把这个注释了就可以了

@sunjulei
Copy link

我也是碰到了这个问题,合并了代码之后才出现的,然后把上面的代码注释了就可以了,但这样处理感觉不太对

@renfei
Copy link
Author

renfei commented Mar 20, 2024

感谢 @sunjulei

在 ShiroConfig 中注释掉这段是管用的,虽然我也感觉这样处理是不对,但临时解决了我的问题。

https://github.com/jeecgboot/jeecg-boot/blob/fee729e16c3aed48baefc5d509f94b4edab32d7b/jeecg-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java#L180-L186

@zhangdaiscott 辛苦您,是否能调查一下这个问题呢?

@renfei
Copy link
Author

renfei commented Mar 20, 2024

补充一下我的运行环境信息:

  • macOS 14.3.1
  • JDK 1.8.0_242
  • OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
  • OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode)
  • Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)

EightMonth added a commit to EightMonth/jeecg-boot that referenced this issue Mar 22, 2024
yoko-murasame added a commit to yoko-murasame/jeecg-boot that referenced this issue Apr 24, 2024
yoko-murasame added a commit to yoko-murasame/jeecg-boot that referenced this issue Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants