Java / Java EE:从JSP调用getter方法

时间:2011-01-14 05:44:29

标签: java jsp java-ee

我想通过使用“jsp:usebean”从JSP调用Java类的getter方法(返回String值),但它返回一个空值。我不明白的是为什么它不能返回更新的值。

  1. 有人可以对此有所了解吗?

  2. 我应该使用Cookie从JSP获取值吗?

2 个答案:

答案 0 :(得分:4)

我不确定你使用的是什么(Struts,普通的Servlet等),但基本上你需要向ServletRequest添加一个属性,如:

class Person {
    private String firstName;
    // other fields, getters, setters
}

public void method(HttpServletRequest httpServletRequest) {
    Person p = new Person();
    p.setFirstName("Obama");
    httpServletRequest.setAttribute("person", p);
}

并在您的JSP中:

<jsp:getProperty object="person" property="firstName" />

或者如果您使用JSTL

<c:out value="${person.firstName}"/>

答案 1 :(得分:2)

很简单。

在java文件中:

package loga;
class bean{

String name;
public void setName(String Uname)
{
this.name=Uname;
}
public void getName()
{
return name;
}

在jsp文件中,将此方法称为:

<jsp:useBean id="object" class="loga.bean">
<jsp:setproperty name="object" property="Name" Value="XXXX"/>
<jsp:getProperty name="object" property="Name"/>
</jsp:usebean>

此处,该属性指示java类中getName()的方法名称。 要从其他控件传递值,请使用param属性并提供控件的名称。