gpt4 book ai didi

jsp - 用 中的构造函数初始化类

转载 作者:行者123 更新时间:2023-12-01 09:22:37 26 4
gpt4 key购买 nike

我正在尝试通过将参数传递给构造函数来初始化一个类。我需要范围是“页面”。我知道我的构造函数中有一个参数,但是我如何有一个使用 <jsp:useBean> 接受参数的参数,并且可以从 JSP 页面调用?

 public class A extends B {
A(ServletRequest req) {
super(req);
}

如果没有无参构造函数,我们可以使用< jsp:useBean id="someId" class="mypackage.A" scope="page" />标签。但是在 useBean JSP 标记中,您不能调用任何构造函数。

有没有办法用构造函数初始化类?

最佳答案

没有。

使用<jsp:setProperty> ,

<jsp:useBean id="someId" class="mypackage.A" scope="page">
<jsp:setProperty name="someId" property="request" value="${pageContext.request}" />
</jsp:useBean>

或使用普通的 servlet:

request.setAttribute("someId", new A(request));

顺便说一句,您标记了 [servlets] 真是令人惊讶关于这个问题,虽然它通常不与 <jsp:useBean> 一起使用因为这两种管理 bean 的方法是冲突的(一种是 MVC 级别 1,另一种是 MVC 级别 2)。有关详细信息,另请参阅 our servlets wiki page .

尽管如此,具有 HttpServletRequest 的 bean 属性类型是腥的。无疑有更好的方法来实现the concrete functional requirement for which you incorrectly thought that this all would be the right solution .

关于jsp - 用 <jsp :useBean> 中的构造函数初始化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30842354/

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