java - 无法从 jsf:action 调用控制器函数
问题描述
我正在尝试save
在我的控制器中调用该函数SeminaireControl.java
package be.helha.aemt.control;
import java.io.Serializable;
import java.util.List;
import javax.ejb.EJB;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
import be.helha.aemt.ejb.GestionSeminaireEJB;
import be.helha.aemt.entities.Seminaire;
@SessionScoped
@Named
public class SeminaireControl implements Serializable{
private static final long serialVersionUID = 1L;
@EJB
private GestionSeminaireEJB bean;
public List<Seminaire> getAll()
{
return bean.getAll();
}
public void save(Seminaire seminaire)
{
System.out.println("HELLO");
bean.save(seminaire);
}
}
在<a></a>
我的seminaires.xhtml
. . .
<h:dataTable class="seminaire" value = "#{seminaireControl.getAll()}" var = "seminaire">
<h:column>
<f:facet name="header">Id</f:facet>
<h:form>
#{seminaire.id_student}
</h:form>
</h:column>
<h:column>
<f:facet name="header">Nom</f:facet>
#{studentControl.getNameById(seminaire.id_student)}
</h:column>
<h:column>
<f:facet name="header">Séminaire 1</f:facet>
<h:inputText value="#{seminaire.seminaire1}"/>
</h:column>
<h:column>
<f:facet name="header">Séminaire 2</f:facet>
<h:inputText value="#{seminaire.seminaire2}"/>
</h:column>
<h:column>
<f:facet name="header">Séminaire 3</f:facet>
<h:inputText value="#{seminaire.seminaire3}"/>
</h:column>
<h:column>
<f:facet name="header">Séminaire 4</f:facet>
<h:inputText value="#{seminaire.seminaire4}"/>
</h:column>
<h:column>
<f:facet name="header">Save</f:facet>
<a jsf:action = "#{seminaireControl.save(seminaire)}">MODIFIER</a> // THIS LINE
</h:column>
<h:column>
<f:facet name="header">Total</f:facet>
0
</h:column>
</h:dataTable>
. . .
并且由于某种原因,我的代码没有执行(我的数据库中没有更改,我的控制台中没有“HELLO”)
解决方案
我想你应该更换
<a jsf:action = "#{seminaireControl.save(seminaire)}">MODIFIER</a>
和
<h:commandLink value="MODIFIER" action="#{seminaireControl.save(seminaire)}">
您可能还需要将h:dataTable放入h:form
<h:form>
<h:dataTable >
..............
..............
</h:dataTable>
<h:form>
推荐阅读
- python - TypeError:“AxesSubplot”对象不支持索引
- python - 将具有相同索引的两个矩阵的元素相乘
- gcloud - 错误:(gcloud.beta.filestore.instances.create)PERMISSION_DENIED:权限'file.instances.create'在'projects/----`上被拒绝
- reactjs - 当我在命令提示符下运行 npx create-react-app gui 时出错
- python - OSError:无法加载库“gobject-2.0”:错误 0x7e
- php - 使用类属性或传递参数
- linux - 连续记录linux中的命令历史
- python - python - 如何将双引号字符串转换为python中每个单独值的单引号?
- r - R 的 S3 方法调度在采购包时不起作用
- postgresql - 在 postresql 的现有 json 列中添加一个数组作为新的键值对