我们如何在没有 scriptlet 的情况下创建 Java 类对象并在 JSP 中调用其方法?
假设有一个名为 Demo
的类,它不是 Javabean,并且有一个方法 m1()
,我想调用这个方法 m1()
> 来自我的 JSP 页面,而不使用 scriptlet。我该怎么做?
Suppose there is a class named as Demo
which is not a Javabean and has a method m1()
, I want to call this method m1()
from my JSP page without using scriptlets. How can I do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
创建一个 servlet 并在
doGet()
方法中完成这项工作。或者如果它返回某个对象作为结果,并且您需要它在 EL 中作为
${result}
可用,(请注意,
page.jsp
隐藏在 < code>/WEB-INF 文件夹,以防止在不先调用 servlet 的情况下直接访问)现在调用 http://localhost:8080/context/page 而不是 http://本地主机:8080/context/page.jsp。
Create a servlet and do the job in
doGet()
method.or if it returns some object as result and you need it to be available as
${result}
in EL,(note that
page.jsp
is hidden in/WEB-INF
folder to prevent direct access without invoking the servlet first)Now invoke http://localhost:8080/context/page instead of http://localhost:8080/context/page.jsp.
我个人建议使用基于 JSTL 和表达式语言的解决方案:
A JSTL 入门,第 1 部分:表达式语言
表达式语言
“JSP 技术 2.0 版的一个主要特性是它对表达式语言 (EL) 的支持。表达式语言使得可以轻松访问存储在 JavaBeans 组件中的应用程序数据。例如,JSP 表达式语言允许页面作者使用简单的语法访问 bean,例如 ${name} 表示简单变量或 ${name.foo.bar} 表示嵌套属性”
这将允许您使用标签而不是 。脚本的形式:
JSTL 还允许您通过使用标签来执行条件、迭代等。
I would personally recommend using a solution based on JSTL and Expression Language:
A JSTL primer, Part 1: The expression language
Expression Language
"A primary feature of JSP technology version 2.0 is its support for an expression language (EL). An expression language makes it possible to easily access application data stored in JavaBeans components. For example, the JSP expression language allows a page author to access a bean using simple syntax such as ${name} for a simple variable or ${name.foo.bar} for a nested property. "
This will allow you to use tags instead of scriptlets in the form:
JSTL will also allow you to perform conditions, iterations, and much more through the use of tags.