Java 在jsf和jpa之间传递对象
我如何模仿这种行为Java 在jsf和jpa之间传递对象,java,jsp,jsf,jpa,Java,Jsp,Jsf,Jpa,我如何模仿这种行为 <h:selectOneMenu id="idMovie" value="#{comments.comments.idMovie}" title="IdMovie" required="true" requiredMessage="The idMovie field is required." > <f:selectItems value="#{movies.movieItemsAvailableSe
<h:selectOneMenu id="idMovie" value="#{comments.comments.idMovie}" title="IdMovie" required="true" requiredMessage="The idMovie field is required." >
<f:selectItems value="#{movies.movieItemsAvailableSelectOne}"/>
</h:selectOneMenu>
<h:selectOneMenu id="idUser" value="#{comments.comments.idUser}" title="IdUser" required="true" requiredMessage="The idUser field is required." >
<f:selectItems value="#{user.userItemsAvailableSelectOne}"/>
</h:selectOneMenu>
以这样的方式
<h:SOMETHING id="idMovie" ´valueToCommit´="#{comments.comments.idMovie}" ´valueToGet´="#{movies.movies}"/>
<h:SOMETHING id="idUser" ´valueToCommit´="#{comments.comments.idUser}" ´valueToGet´="#{user.userSession.user}"/>
movies.movie具有我需要的当前对象
user.userSession.user也是如此,但我不知道如何将它们传递到comments.commment.idMovie(类型为Movie)以获得提交
提前谢谢
致意
ignacio在commentController的构造函数中
userController = (UserController) facesContext.getApplication().evaluateExpressionGet(facesContext, "#{user}", UserController.class);
movieController = (MovieController) facesContext.getApplication().evaluateExpressionGet(facesContext, "#{movie}", MoviesController.class);
加(在声明中)
及
做了这个把戏 JS与这个问题有什么关系?还有,您是否在使用JSF2?您应该这样标记。刚刚编辑的问题抱歉,是的,JSF 2.0答案是什么?我的答案与Facelets有关。但毕竟您使用的是JSP而不是Facelets,尽管您使用的是JSF2.0。因此我删除了答案。如果两者都是
@ManagedBean
,那么@ManagedProperty
比这个evaluateExpressionGet()
更好。我不确定如何应用所述更改。
private MovieController movieController = null;
private Comment comment = null;
private UserController userController = null;
public String create() {
try {
utx.begin();
} catch (Exception ex) {
}
try {
Exception transactionException = null;
comment.setUserId(userController.getUser());
comment.setMovieId(movieController.getMovie());
jpaController.create(comment); ...Default Facade class
try {
utx.commit();
} catch (javax.transaction.RollbackException ex) {
transactionException = ex;
} catch (Exception ex) {
}...
...