假设有一个名为Demo
的类,它不是一个Javabean,并且有一个方法m1()
,我想从我的JSP页面调用此方法m1()
而不使用scriptlets。我怎样才能做到这一点?我们如何创建一个Java类对象并在没有scriptlet的JSP中调用它的方法?
0
A
回答
0
创建一个servlet并在doGet()
方法中完成这项工作。
@WebServlet(urlPatterns={"/page"})
public class PageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
new Demo().m1();
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}
}
,或者如果它返回一些对象作为结果,你需要它是可作为EL ${result}
,
@WebServlet(urlPatterns={"/page"})
public class PageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Object result = new Demo().m1();
request.setAttribute("result", result);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
}
}
(注意:page.jsp
隐藏在/WEB-INF
文件夹,以防止直接访问,而无需调用首先是小服务程序)
现在调用http://localhost:8080/context/page而不是http://localhost:8080/context/page.jsp。
0
我个人建议使用基于JSTL和表达式语言的溶液:
A JSTL primer, Part 1: The expression language
“的JSP技术版本2.0的主要特点是它的表达式语言支持(EL )。一种表达式语言可以轻松访问存储在JavaBeans组件中的应用程序数据,例如,JSP表达式语言允许页面作者使用简单的语法来访问bean,例如$ {name}作为简单变量或$ {name .foo.bar}为一个嵌套属性。 “
这将允许您使用标签,而不是形式小脚本:
<c:out value="${demo.m1}"/>
JSTL还允许你通过使用标签执行条件,迭代和更多
相关问题
- 1. Java:我如何在静态方法中创建对象并调用另一个类的方法?
- 2. 我们可以创建子类的对象并调用父类的方法吗?
- 3. 一个类的构造和对象,并在Java中调用它的方法
- 4. 在C++中创建一个python对象并调用它的方法
- 5. Java - 我如何创建一个不同的类的数组,并遍历它调用它的toString方法?
- 6. 如何创建一个调用另一个类的委托方法的对象?
- 7. 如何在它的基类中创建一个子类对象?
- 8. 在servlet中通过scriptlet调用类对象方法
- 9. 使用spring eval标签并在jsp中调用java方法而不使用scriptlet
- 10. 如何导入我在jython中创建的java类并调用方法
- 11. 在一个类中构建对象并在另一个类中访问它们
- 12. 创建一个C++类的实例并在Python中调用它的方法
- 13. 如何在jsp scriptlet中调用$ {SPRING_SECURITY_LAST_EXCEPTION.message}?
- 14. java.lang.NullPointerException;试图创建一个对象,并调用一些方法
- 15. Java使用方法并调用它们
- 16. 创建一个对象/类,并在jQuery中使用它
- 17. 在一个方法中初始化一个对象,并用另一种方法创建它的一个副本
- 18. 如果我知道一个对象的类名,如何获取它并调用它的方法?
- 19. 如何使用JAva中另一种方法创建的对象?
- 20. 腓typehinting的对象调用的方法,在基类中创建
- 21. 在jsp和servlets中创建PrintWriter对象的方法有多少?
- 22. 在jsp中创建json对象并使用jQuery使用它
- 23. 如何在Excel中创建一个java类的对象vba
- 24. Java - 创建多个对象并使它们可区分
- 25. 我们如何停止PHP中类的用户创建对象?
- 26. 我们如何在JavaScript中创建类似布尔的对象?
- 27. JavaScript的:从它的类型一般创建对象并调用它的构造
- 28. JSP scriptlet中的方法是否合法?
- 29. 有没有更好的方法来创建一个jQuery的面向对象类?
- 30. 创建一个对象,并让它等到它的创建
@ russell和balusC,即时通讯问我在scriptlet我可以做以下 - <%new Demo()。m1()%> 现在我的问题是我怎么能做到上面的操作没有scriptlet在jsp和演示没有设置任何范围? 对于$ {demo.m1}演示必须处于任何范围内。 –