V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
VKRUSSIA
V2EX  ›  Java

JSP 如何實現選擇性引入頁面?

  •  
  •   VKRUSSIA · 2020-03-12 23:00:10 +08:00 · 1878 次点击
    这是一个创建于 1498 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想實現的僞代碼如下,會報錯

    `<%

    if(new Date().getHours()>17){ <%@ include file="night.jsp"%> }else{ <%@ include file="day.jsp"%> } %> `

    有什麽方案實現嗎?

    7 条回复    2020-03-13 11:30:45 +08:00
    Tomotoes
        1
    Tomotoes  
       2020-03-12 23:12:24 +08:00   ❤️ 1
    ```jsp
    <% if (new Date().getHours() > 17) { %>
    <%@ include file="night.jsp" %>
    <% } else { %>
    <%@ include file="day.jsp" %>
    <% } %>
    ```
    SoloCompany
        2
    SoloCompany  
       2020-03-13 01:17:15 +08:00 via iPad
    include 是编译阶段处理而非运行时,要真正条件 include 应该使用 dispatcher 或 <jsp:include 或者 tagfile 是更好选择
    hantsy
        3
    hantsy  
       2020-03-13 01:42:49 +08:00
    远古时代的代码啊,还内嵌 Java 代码的,隐约感觉这种代码形式是快 20 年了。大学时候好流行,PHP,ASP,JSP 都是这样的。

    2003 年 JSP 2.0 后就可以完全使用 XTHML 来写 JSP 了。7,8 年没见过 JSP 代码了。
    jiom
        4
    jiom  
       2020-03-13 09:12:39 +08:00
    @hantsy 您看看现在 zf、gq 网站,也真的多 j2ee 的呢,不瞒您说我手上就有,现在解决办法都是保持原有不变,再撘一套新系统,然后直接连接过去改不动了我接手的时候~
    ice2neet
        5
    ice2neet  
       2020-03-13 10:45:16 +08:00
    JSP 应该都是很久的之前的旧项目了吧 新项目没人用吧
    hantsy
        6
    hantsy  
       2020-03-13 11:19:59 +08:00
    @jiom 项目只要是一直有人在更新和维护,技术栈同样可以一起更新。这说来说去是人的问题了,保持不变才是最大的问题。
    hantsy
        7
    hantsy  
       2020-03-13 11:30:45 +08:00
    @ice2neet JSP 2.0 后面的感觉还好,页面是通过 XSLT 转换的,和现在的模板引擎差不多,大概就这个样子,Spring 扩展了自己一套 JSTL,写起来还是方便,https://github.com/hantsy/spring4-sandbox/blob/master/mvc-tiles3/src/main/webapp/WEB-INF/views/add.jspx,这种即使将来换到 Thymeleaf 模板也不难,代码逻辑几乎不用改的。

    1.x 内嵌 java 代码的形式,运行时首先还是转换成 Java Servlet 代码,再编译成 Class 的,所以第一次执行很慢,而且一般运行环境还需要 JDK 才能运行。Tomcat 大概从 5.5 左右自带了 Eclipse 的 Compiler,这才可以换成用 JRE 来运行。另外我遇到的一个问题,记得 JSP 在各 Servlet 容器上编译结果差别很大,当时我开发时还比较喜欢用 Resin,发现相对语法要求没那么严格,切换到 Tomcat 发现很多 JSP 页面都会异常。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3570 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 04:38 · PVG 12:38 · LAX 21:38 · JFK 00:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.