gpt4 book ai didi

同一 jsp 中的 Java beans 多个实例

转载 作者:行者123 更新时间:2023-12-01 05:21:20 25 4
gpt4 key购买 nike

我有一个 counterBean 类,我希望在我的 jsp 中实例化 counterBean 的两个实例(用于两个单独的计数器)。我该怎么做?

编辑 - 添加代码

package beans;

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name="CounterBean")
@SessionScoped
public class CounterBean implements Serializable
{
private static final long serialVersionUID = 1L;
private static int hitCount;

public CounterBean()
{
CounterBean.hitCount = 0;
}

public static int getCounter()
{
hitCount++;
return hitCount;
}

public static void setCounter(int hitCount)
{
CounterBean.hitCount = hitCount;
}

public static int getValue()
{
return hitCount;
}
}

最佳答案

最好不要在JSP代码中直接创建对象。由于JSP 只能被查看。在 JSP 页面中使用 scriptlet 并不是一个好的做法。最好使用<jsp:useBean>标签:

<jsp:useBean id="firstCounterId' class="yourpackagename.CounterBean" />
<jsp:useBean id="secondCounterId' class="yourpackagename.CounterBean" />

要更改特定计数器的值,请应用标签 <jsp:set Property>

<jsp:setProperty name="firstCounterId" property="myNumber" value="123"/>

但我认为几乎任何更改和使用 JSP 中的 bean 的问题都可以通过使用标签 <c:set> 来解决。和<c:out>

关于同一 jsp 中的 Java beans 多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10374329/

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