它们有什么方法可以提高 JSP 类型的安全性吗?

发布于 2024-11-19 13:25:39 字数 245 浏览 1 评论 0原文

我将 JSP 编译添加到我的项目中,但是编译器仍然不会检查错误的宏,例如 ${object.value},其中对象没有值的 getter。

我想知道是否有其他方法可以引导 JSP 编译器(jspc)来执行此操作。我正在考虑一些选择: 1. 在 JSP 中显式声明对象类型(jsp:useBean ?)。 2. 使用<%=%>构造而不是 ${ }

但这没有任何帮助。

如果有人能分享他在这方面的经验,我将不胜感激。

I added JSP compilation to my project, but still, compiler doesn't check wrong macros like ${object.value}, where object doesn't have getter for value.

I am wonder if there some other ways to guide JSP compiler (jspc) to do this. I was considering some options:
1. Explicitly declare type of object inside JSP (jsp:useBean ?).
2. Using <%= %> construction instead of ${ }

But nothing of this helped.

I would appreciate if anybody would share his experience in this area.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

妞丶爷亲个 2024-11-26 13:25:39

使用 并预编译 JSP。

阅读这篇文章了解更多详情。

Use <jsp:useBean id="yourId" scope="request" type="com.blah.YourClass"/> and precompile JSPs.

Read this article for more details.

南巷近海 2024-11-26 13:25:39

不,除非您想从根本上重新设计 JSP 的完成方式。

它生成的 HTML 也不是类型安全的。

您能做的最好的事情就是使用 Model-2 MVC,其中 servlet 与 JSP 一起工作。让 servlet 关心绑定、验证并确保正确的对象最终出现在页面范围内。页面应该只关心显示。

scriptlet 的想法是一个糟糕的想法。任何人都不应该将 scriptlet 代码放入 JSP 中。学习并使用 JSTL。

No, unless you want to radically redesign how JSPs are done.

The HTML that it generates isn't type safe either.

The best you can do is to use Model-2 MVC, where you have servlets working alongside JSPs. Let the servlet(s) worry about binding, validation, and making sure that the right objects end up in page scope. Pages should be concerned only with display.

The scriptlet idea is a terrible one. No one should be putting scriptlet code in a JSP. Learn and use JSTL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文