Java JSF2.0初学者在bean中遇到参数和属性问题
今天晚上,我第一次开始使用JSF2.0,我成功地拼凑了一个托管bean,它返回一个电影列表,以及一个xhtml页面,该页面能够显示从托管bean返回的电影表 接着,我尝试在datatable中添加一个链接,以创建一个单独的xhtml页面,该页面只显示单个电影的细节。但在新的xhtml页面中使用FilmBean时,我似乎遇到了问题 以下是主清单xhtml页面中的代码:Java JSF2.0初学者在bean中遇到参数和属性问题,java,jsf-2,Java,Jsf 2,今天晚上,我第一次开始使用JSF2.0,我成功地拼凑了一个托管bean,它返回一个电影列表,以及一个xhtml页面,该页面能够显示从托管bean返回的电影表 接着,我尝试在datatable中添加一个链接,以创建一个单独的xhtml页面,该页面只显示单个电影的细节。但在新的xhtml页面中使用FilmBean时,我似乎遇到了问题 以下是主清单xhtml页面中的代码: Facelet标题 标题 情节#{film.Plot} 下面是支持此页面的托管bean的代码: @ManagedBean
Facelet标题
标题
情节#{film.Plot}
下面是支持此页面的托管bean的代码:
@ManagedBean(name=“filmResourceBean”)
@会议范围
公共类FilmResource实现可序列化{
公共列表getAllFilms(){
//这只是返回电影的基本列表,这里不需要它来节省空间。。。
}
公共电影getFilm(字符串id){
//这只是返回一个与给定id匹配的胶片对象,同样是为了节省不需要的空间
}
}
现在,我尝试重新创建的想法是,当用户按下主列表xhtml页面中的表中的链接时,他们被重定向到一个新的xhtml页面,该页面应该获得应该通过托管bean中的getFilm(String id)方法显示的胶片
下面是我目前所拥有的,它只打印出film对象的基本toString(),例如:org.jmcdonnell.mavenproject1。Film@34c3eb7c
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Facelet Title</title>
</h:head >
<h:body >
<h:outputText value="#{filmResourceBean.getFilm(id)}"></h:outputText>
</h:body>
</html>
Facelet标题
我想在这里简单地向初学者展示的是电影的标题,我尝试了
{filmResourceBean.getFilm(id).title}
或{filmResourceBean.getFilm(id)}.title
的不同组合,但它们都不起作用,而且对于JSF来说,我不太确定该去哪里看,或者我在找什么。我在网上找到的教程也没有告诉我做这件事的方法,或者至少没有告诉我我找到了什么。有人能给我指出正确的方向吗?如果几乎正确,您需要使用{filmResourceBean.getFilm(id.title}
,但您的问题是参数id
。使用f:param
打开视图时,它会将该参数作为GET参数传递。要在目标视图中使用它,您需要使用param['key']
,因此在您的情况下,最终代码应该是:
#{filmResourceBean.getFilm(param['id']).title}
谢谢kocko,我应该这么做的。
#{filmResourceBean.getFilm(param['id']).title}