JeeSite论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 107|回复: 6

[已解决] jeesite如何改变jeesite v4的模板引擎,支持freemaker和jsp

[复制链接]

84

主题

124

帖子

482

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
482
发表于 7 天前 | 显示全部楼层 |阅读模式
原文地址:
2 j6 S! S$ C9 v* l/ d/ ]" `: F4 e% e& _2 ^
  1. https://gitee.com/thinkgem/jeesite4/issues/II8D1
复制代码

* C& _& w' D# F$ f+ }) O. d1 X6 c' A3 N
2 n/ ?: `, `8 p4 d! O& D

; g# h: T8 a- k如何改变jeesite v4的模板引擎,支持freemaker和jsp,为啥我加入freemaker的pom依赖,返回的都是json数据,不进行freemaker的模板渲染

84

主题

124

帖子

482

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
482
 楼主| 发表于 7 天前 | 显示全部楼层

+ Q  ~: U/ G) C" U. r: a  t根据spring boot配置,你可以集成WebMvcConfigurerAdapter类,实现configureViewResolvers方法,默认的order见如下,根据情况你配置即可实现:: q2 Y6 p+ Q' F2 R$ q% d
3 P# m* w! w4 D7 P& w! }
  1. // Beetl主题视图解析器(order越小优先级越高)$ v9 ^2 y' _1 f" g
  2. BeetlViewResolver beetlThemes = new BeetlViewResolver();8 b, w; s& A1 p2 U2 m% y
  3. beetlThemes.setPrefix("/themes/" + Global.getProperty("web.view.themeName") + "/");
    - T& U# {  x( g, G9 T9 v6 |& m# {
  4. beetlThemes.setSuffix(".html");- O5 v  ~7 b. K5 @/ j" E
  5. beetlThemes.setOrder(10000);7 {3 k/ C% P" H0 }) w% C9 Y% I
  6. registry.viewResolver(beetlThemes);7 K4 D; F4 Y$ M5 n3 R" f7 j
  7. // Beetl默认视图解析器(order越小优先级越高)7 p9 d0 i- `+ e6 `. z0 q& O% k
  8. BeetlViewResolver beetlDefault = new BeetlViewResolver();
    3 {) U' |  O( M
  9. beetlDefault.setPrefix("/");
    - P# S( s+ p2 @; u" ~
  10. beetlDefault.setSuffix(".html");" `. L: V3 G1 j. }* F
  11. beetlDefault.setOrder(20000);
    6 V* E) N9 q" {* C. q; O0 \
  12. registry.viewResolver(beetlDefault);
    - D1 p/ a" b$ r% d
  13. // 默认视图定义,根据后缀渲染(.json、.xml)/ \4 P# S, l0 M
  14. JsonView jsonView = new JsonView();
    * U5 ?* a7 |1 m1 K
  15. jsonView.setPrettyPrint(false);
    8 B# C' b$ M8 ]; g- X( _* B
  16. XmlView xmlView = new XmlView();7 H# d' t  Z9 Q2 O4 c1 m
  17. xmlView.setPrettyPrint(false);
    3 b$ @5 m! ^# k0 I, C2 [
  18. registry.enableContentNegotiation(jsonView, xmlView);
复制代码
回复

使用道具 举报

84

主题

124

帖子

482

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
482
 楼主| 发表于 7 天前 | 显示全部楼层
3 c( j2 ?! `. c
举例如下,已测试通过:
* _$ H" ?- ]3 sjava config:
( n' C  y9 N6 `# `% v( |7 l" v, o9 X0 f
  O( z! G' u+ z2 O
  1. /**/ Z$ |% A# ?) v0 ]; i3 z7 R. Q
  2. * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
    # y+ j6 C* z  S8 Z
  3. */" X0 b5 R  E" O1 M0 l$ f
  4. package com.jeesite.modules.config.web;; E: D+ R# M+ v( h) d
  5. + l/ g  m6 b1 c, T
  6. import org.springframework.context.annotation.Configuration;0 r$ W3 J6 I3 e; T
  7. import org.springframework.web.servlet.config.annotation.EnableWebMvc;6 t: t: r% m: l- F" W- r
  8. import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
    % l% d7 i" ]$ A: }7 n' F
  9. import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;: i- L( ~; V! R9 G) m
  10. import org.springframework.web.servlet.view.InternalResourceViewResolver;
    - f5 j$ M9 q! e( }

  11. : \& C! s* M( W# k+ V: T$ K
  12. import com.jeesite.common.web.view.JstlView;
    ! B7 w+ z9 f  q- o, n1 Q
  13. , j: I+ {* Y  a/ r- x- K
  14. /**; S# ]* T! C/ X7 D8 e* m2 f, N
  15. * Spring MVC 配置* z8 y3 d8 ?5 B) c+ c
  16. * @author ThinkGem4 K& {1 W4 n- S0 Z0 P1 }
  17. * @version 2018-3-20
    $ c! V# i4 H) d4 |; ?. p2 y; W3 G
  18. */
    9 e* t7 O7 r  t
  19. @Configuration
    / L' C) @) ]) [( T8 }. `9 T
  20. @EnableWebMvc
    ) t3 s' J1 X) M% l; @3 s# [) r+ ~
  21. public class WebMvcJspViewConfig extends WebMvcConfigurerAdapter {
    1 T3 G" I- q/ M$ q) E& f
  22.        
    9 G! k, _3 v& A( ^, P- \  q
  23.         /**$ p; x% h& z0 ~  P/ t. r' Y
  24.          * 定义视图解析
    $ l+ c% [: p; C$ x% K4 T
  25.          */2 m) {* b% H3 c0 b/ I/ |8 n, ^: H
  26.         @Override& O2 I& d. C4 S& l' ^- v" P6 g% O0 T; X
  27.         public void configureViewResolvers(ViewResolverRegistry registry) {
    5 V$ N0 m; E6 R' ?) o2 ?# t
  28.                 // JSP 视图解析器(order越小优先级越高)) d; C9 ~# b; X
  29.                 InternalResourceViewResolver jspView = new InternalResourceViewResolver();9 e2 r  v: z7 v
  30.                 jspView.setViewClass(JstlView.class);
    3 `/ _! u7 Q; ?6 `1 l2 X
  31.                 jspView.setPrefix("/WEB-INF/views/");
    1 E  }' X" ?8 K% V, k
  32.                 jspView.setSuffix(".jsp");) R; q( Z. _  D( S# B1 @( g( u6 f
  33.                 jspView.setOrder(1000);
    8 E9 g0 T: h9 F# I0 \! M
  34.                 registry.viewResolver(jspView);
    # o5 [7 _- V7 N) M: \, n
  35.         }
    9 v8 s) s$ X5 `3 l# L( l+ L
  36.        
    $ ?; `, m2 h9 S7 p5 h+ n; \, O( N
  37. }
复制代码
* K( `5 }6 Z! h# n* b5 f. C( l
) L9 X/ h/ U  H9 c6 M
; s1 \; [) p" T' x8 K9 _( m
  1. pom.xml:
    $ ^, |+ t4 h6 }, E

  2. ' \( r# s: h5 z: Y0 u
  3. <!-- WEB begin -->$ P. c, L' ^4 P; m
  4. <dependency>8 r! u$ ^$ t, R2 v
  5.         <groupId>taglibs</groupId>
    , C& d2 ?0 }  O8 p6 Z' x
  6.         <artifactId>standard</artifactId>. m6 n$ c+ p8 }6 L5 j2 ?* v
  7.         <version>1.1.2</version>4 h0 X9 s6 }5 ?& O  u4 h
  8.         <type>jar</type>
    5 b* q+ R7 \. Y* a: c: _" O
  9. </dependency>
    * W/ E2 M# P* m5 T
  10. <dependency>* k; w1 b/ @# V/ N9 s0 ?
  11.         <groupId>javax.servlet</groupId>
    0 L( h0 R' h* }+ ~8 a
  12.         <artifactId>jstl</artifactId>- w- F' c: Z$ p9 [
  13.         <version>1.2</version>
    + T- |( o- D! W4 p, {- Q) B
  14.         <type>jar</type>
    ( r9 y6 c: S5 r# `3 k
  15. </dependency>
复制代码
回复

使用道具 举报

84

主题

124

帖子

482

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
482
 楼主| 发表于 7 天前 | 显示全部楼层
1 ]  |+ {  N: ]: s. h

" d  K5 Y3 l0 ~/ C0 {% x4 R4 \@ThinkGem 您好,我添加上您的代码后,结果是页面找到了,但是显示不正确
& ~, T+ c3 }( p  l3 S/ H1 y, A5 ]. ?" K# c3 T
( f& @: [+ a* G" F& w! p
; S2 w8 Y* _0 ]' |
2 Q. K9 L6 e, t7 h# T( \4 _' k1 y7 T. r
8 g8 |* K, N0 I4 n& m' k+ n/ [2 E
回复

使用道具 举报

84

主题

124

帖子

482

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
482
 楼主| 发表于 7 天前 | 显示全部楼层
[color=rgba(0, 0, 0, 0.8)]使用 com.jeesite.common.web.view.JstlView 视图,这个视图跳过了找不到时继续验证下一个视图
- u/ N6 B& O& t! \$ E9 n5 S( s4 C[color=rgba(0, 0, 0, 0.8)]1 \: ^8 B1 Z' J. F( b. O
# r% F5 `6 F, R5 r( ~
  1. <!-- WEB begin -->
    # T! h: q# j; |! k
  2.                 <dependency>
    ( E% {1 W$ y+ J3 I! e8 v
  3.                         <groupId>taglibs</groupId>- w, n  o2 J% h& q. J: ?0 J4 }
  4.                         <artifactId>standard</artifactId>
    * W) y* ]& P. Z) |9 K+ G! b
  5.                         <version>1.1.2</version>/ h- M* B0 g: i, B7 e2 D
  6.                         <type>jar</type>( g# W7 h( E3 k6 K' D7 X. h& J% F
  7.                 </dependency>% D7 z/ `6 ]7 d
  8.                 <dependency>
    7 g6 C4 V+ G' s, g
  9.                         <groupId>javax.servlet</groupId>
    + V, o9 Z- X* u2 s0 @
  10.                         <artifactId>jstl</artifactId>
    ; R& {, S9 G0 M2 B8 _: B
  11.                         <type>jar</type>4 k, x7 S* m! l& Z
  12.                 </dependency>
    ' r9 P+ _# J4 M4 T4 L+ M7 X; m! C: o, e
  13.                 <dependency>
    ' Z2 G/ d" E" K" L" H
  14.                         <groupId>javax.servlet</groupId>' n6 b/ j/ P5 ~# G. u
  15.                         <artifactId>javax.servlet-api</artifactId>
    8 T9 v$ A0 h. b; N3 c. q
  16.                         <scope>provided</scope>8 j# Y6 r! {: [/ E* `! B. Y
  17.                 </dependency>; \$ Z' k1 }: I- B
  18.                 <dependency>
    2 w7 D( }3 T" O1 i4 ]9 ?
  19.                         <groupId>javax.servlet.jsp</groupId>
    ! f/ ~" j! C% U: ^
  20.                         <artifactId>jsp-api</artifactId>
    + r1 Z, O- f6 Q$ v3 j2 o1 Y/ v
  21.                         <version>2.2</version>5 i* E/ b8 U/ }- g! o
  22.                         <scope>provided</scope>' I2 o+ V: M3 X) z# n
  23.                 </dependency>' ^3 p" U- r3 I* U" i" V
  24.                 <!-- WEB end -->
复制代码

+ Y: J# v6 B$ }2 b  l. o
1 d8 K! k0 n+ N: n. q, U8 ]4 v
回复

使用道具 举报

84

主题

124

帖子

482

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
482
 楼主| 发表于 7 天前 | 显示全部楼层
前辈,我是一个静态的jsp,项目加载后,从js直接就跳到jsp页面了,现在是配完之后还是返回json输入图片说明* a5 s5 ^6 N/ j! O7 g" `

, d* p& n1 _3 y: h9 i2 z
回复

使用道具 举报

84

主题

124

帖子

482

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
482
 楼主| 发表于 7 天前 | 显示全部楼层
6 q! k8 T  J: h. D' H
了解下spring 的注解 @ResponseBody @RestController @Controller这些注解/ @, @% ~4 b1 U7 I4 b+ A! P2 A" O6 a

5 O, X' M6 @% W0 ^. J( k创建一个类,分别试下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|吉林省正崇科技有限责任公司. ( 鲁ICP备17010963号-2 )

GMT+8, 2019-3-21 15:56 , Processed in 0.174768 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表