有新闻标题。用户点击这些标题。浏览器转到这个标题的新闻页面。我想从数据库中获取数据,其中id等于被点击的元素id。元素从数据库中获取id所以我事先不知道id。
<ui:repeat value="#{controller.sql.yenilikler}" var="list">
<a href="xeberShekil.xhtml" id="#{list.id}}">
#{list.basliq}
</a>
<br/>
</ui:repeat>
所以我应该
1.get被点击的元素的id
2.将此id发送到java类中的变量
3.send查询从数据库获取数据,其中id =元素的id
int id;
ResultSet rs= statement.executeQuery("select * from tableName where id="+id);
如果其他算法建议请分享.Tnx很多
答案 0 :(得分:0)
使用f:param,f:setPropertyActionListner将值传递给托管bean,或使用commandbutton的action =“#{bean.someAction(value)}”直接传递值
有关代码段,请参阅JSF-2 Action Parameter。
编辑代码
数据表
<h:dataTable value="#{someManagedBean.categories}" var="cat">
<h:column>
<h:commandButton action="#{someManagedBean.edit(cat.id)}"
</h:column>
</h:dataTable>
Managed Bean
public void edit(id) {
doYourDBThing(id);
}
您还可以使用f:param和f:setPropertyActionListner。见上面的链接。