我想通过使用“jsp:usebean”从JSP调用Java类的getter方法(返回String值),但它返回一个空值。我不明白的是为什么它不能返回更新的值。
有人可以对此有所了解吗?
我应该使用Cookie
从JSP获取值吗?
答案 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属性并提供控件的名称。