gpt4 book ai didi

java - 如何在 JSP 中包含资源而不是开销服务方法?

转载 作者:行者123 更新时间:2023-11-29 09:04:41 24 4
gpt4 key购买 nike

我正在使用 JSP 开发一个高负载项目,页面上包含大量其他资源(jsp、jspf)。

众所周知,在 JSP 中有两种使用 include 的方式:静态 - <%@include %> 和动态 - (或JSTL 等效 ).

但它们都有缺点。

例如,静态导入会导致主页面的变量名冲突。并且动态导入性能较差。

我想使用一些对服务方法没有开销的东西,同时独立于代码的其余部分。

在最狭窄的地方,我们不得不将 html 代码放在 java 代码中:

public String getHtml() {
return “<div class=’entity’>” + … + “</div>”;
}

在 JSP 中我们做类似的事情:

<jsp:getProperty name="someEntity" property="html" />

这解决了包含的问题,但这是一种糟糕的代码风格,而且很难重构。

看起来理想的解决方案是编写特殊的标签库,例如:

<entitytag>
<parameter name=’param1’ class=’java.util.String’ />
<parameter name=’param2’ class=’mypackage.Entity’ />
<tagbody>
<div class=’entity’>…</div>
</tagbody>
</entitytag>

这将被翻译成:

static public void entitytag(String param1, Entity param2, JSPWriter out) {
out.write(“<div class=’entity’>”);

out.write(“</div>”);
}

在 JSP 中,这个调用看起来像:

<mylib:entitytag param1=’someString’ param2=’someEntity’ />;

在服务方法中:

MylibClass.entitytag(param1, param2, out);

那么,我的下一个问题是:是否有任何方法可以优雅地制作这种技巧?也许使用第三方库?

最佳答案

我不认为解决方案是在 java 中执行 html。

而且普通的 jSTL include 就可以了,你认为可以通过什么方式提高性能?

关于java - 如何在 JSP 中包含资源而不是开销服务方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15663736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com