【问题标题】:How to write XML formatted JSP with generics?如何使用泛型编写 XML 格式的 JSP?
【发布时间】:2009-02-25 20:00:46
【问题描述】:

我正在使用 JSP 编写一个 Web 应用程序,并且我非常喜欢使用“XML 样式”JSP 指令(即 而不是

比如我想写:

<jsp:scriptlet> 
List<String> myText = new List<String>();  
</jsp:scriptlet>  

但是,这段代码显然无法编译。我尝试在代码周围添加 CDATA 包装器(立即在 jsp:scriptlet 标记内),但它看起来没有任何区别。

是否可以在 JSP scriptlet 中使用泛型?

谢谢。

【问题讨论】:

    标签: xml jsp jetty


    【解决方案1】:
    <jsp:scriptlet> 
        List&lt;String> myText = new List&lt;String>();  
    </jsp:scriptlet>
    

    我尝试在代码周围添加 CDATA 包装器(直接在 jsp:scriptlet 标记内),但看起来没有任何区别。

    真的吗?这也应该有效。这当然很丑,但是没有人指责 JSP XML 格式方便或其他什么...

    【讨论】:

    • 我不确定我的问题是什么——当我尝试在一个空白页面上重现它时,效果很好。如果没有 CDATA,我会得到一个与有问题的页面不同的错误。很奇怪,但我暂时先放手。
    • 是的,这是我的错——我很愚蠢。问题是我试图将甚至不是格式良好的 XML 的旧式 JSP 转换为具有 XML 语法的 JSP 2.0。当 Jetty 尝试使用 XML 解析器解析我的页面时,即使语法正确,XML 解析也会失败。
    • 遗憾的是,对于属性没有像 CDATA 这样的解决方法。我刚刚在 useBean 的类型属性中遇到了这个问题。
    【解决方案2】:

    如果您真的想编写 JSP,我的目标是创建标签(或使用 standard tag library(或 this))并保持页面没有 scriptlet - 有或没有泛型。通过适当的 MVC 分离(或至少将视图与其余部分分离),您通常可以只使用标准标记库,生成更易于维护并自动验证为 xml 的 jsps。

    您是打算在您的 jsp 中使用任何框架,还是要在 jsp 中处理请求处理?

    【讨论】:

    • 目前我正在改造现有系统,重新设计架构超出了本项目的范围 :-)
    • 但是您似乎想将泛型添加到 jsps 中,它们目前似乎不在其中。为什么不 - 而不是向 jsp 添加泛型 - 引入标签?几年前,我们有一个附带的类,其中包含每个 jsp 的逻辑,以最大限度地减少 jsps 中的代码(当标记很困难时)
    • 目前的实现中有泛型,它使用旧式JSP代码。我想尽可能多地使用更易于阅读、验证和管理的 XML 样式代码。泛型通常用于仅与当前页面相关的代码,因此不能将其抽象出来。
    • 好的 - 明白了。太糟糕了。 (尽管我们曾经将 jsp 与包含所有非输出内容的类配对,当时没有任何问题/缺点)。好吧 - 祝你好运!
    【解决方案3】:

    码头jsp configuration 上的这个页面有帮助吗?

    您的源语言和目标语言级别是否设置为 1.5?

    【讨论】:

    • 在 Eclipse 中,是的(我实际上使用的是 1.6)。 webapp 设置为 2.4 版(不确定是什么意思)。
    猜你喜欢
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    相关资源
    最近更新 更多