相关疑难解决方法(0)

JSF 1.0 vs JSF 2.0

这两个版本的JSF(JSF 1.0和JSF 2.0)有什么区别?由于我是java的新手,我只发现建筑级别的差异.但是,从视角来看,我无法知道它对应用程序开发有多大影响?

此外,强加的MVC与JSF和Spring不同.即使JSF改进了架构,Spring仍然使用得更多.Spring的重要性在上面有什么意义?

java jsf frameworks web-frameworks jsf-2

2
推荐指数
1
解决办法
1万
查看次数

如何在没有单元格编辑的情况下编辑Primefaces DataTable中的数据?

我有2页.

  1. 添加页面以添加新项目 添加页面
  2. 列表页面显示所有项目 列表页面

当我单击列表页面上的编辑图标时,我想在添加页面上显示所选数据以进行编辑,如果单击保存按钮则更新其数据.这该怎么做?

primefaces jsf-2

2
推荐指数
1
解决办法
3057
查看次数

查看多次调用Scoped Bean preRenderView方法

我的Mojarra 2.1.6 Web应用程序有问题,我正在使用@ViewScoped托管bean 开发它,每个bean都附加到xhtml页面.这个页面正在接收一些视图参数,并在以这种方式初始化bean之后:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui"
template="/templates/general_template.xhtml">

<ui:define name="metadata">
    <f:metadata>
        <f:viewParam id="user" name="user"
            value="#{navegableUserData._ParamUser}" />

        <f:viewParam id="NavIndex" name="NavIndex"
            value="#{navegableUserData._QueueIndex}" />
        <f:event type="preRenderView"
            listener="#{navegableUserData.initialize}" />
    </f:metadata>
    <h:message for="user" />
</ui:define>

<ui:define name="general_content">
    <p:outputPanel autoUpdate="false" id="Datos_Loged" name="Datos_Loged"
        layout="block">
        <h:form id="SystemUserForm">
            <ui:include
                src="/system/manage_user/content/edit_user/system_user_data/system_user.xhtml">
                <ui:param name="manager" value="#{navegableUserData}" />
            </ui:include>
        </h:form>
    </p:outputPanel>
</ui:define>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我将我的页面嵌套到一个通用模板中,看起来像这样:

<?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">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui">


<h:head> …
Run Code Online (Sandbox Code Playgroud)

java primefaces jsf-2

2
推荐指数
1
解决办法
5044
查看次数

将参数传递给JSF中的视图范围bean

让我们想象一下,我的JSF 2应用程序中有两个页面:第一页显示一个对象表(汽车或其他),另一个页面能够显示一个特定对象的详细信息.表页面位于请求范围内,因为每次用户请求时都应重新加载对象.详细信息页面在视图范围内.因此,当我单击表格内的对象时,该对象应显示在详细信息页面中.通过重定向,我可以转到详细信息页面,但详细信息页面为空,因为生成了新的vew.好吧,我可以将范围更改为会话但这会导致其他问题,所以我希望在视图范围内有详细信息页面.有没有办法将参数传递给新生成的视图范围bean?

更新1

这是第一次尝试使用视图参数的代码片段.评论说这不起作用.该值作为请求参数传递,但在目标页面中,该值为null.

表格页面:

<h:button value="Go to details" outcome="targetPage">
     <f:param name="carId" value="This is a test" />
</h:button>
Run Code Online (Sandbox Code Playgroud)

详情页面:

<f:metadata>
    <f:viewParam name="carId" value="#{bean.id}" />
    <f:event type="preRenderView" listener="#{bean.loadData}"/>
</f:metadata>
Run Code Online (Sandbox Code Playgroud)

豆的详细信息页面:

private String id;

public String getId() {
    return id;
}

public void setId( String id ) {
    this.id = id;
}

public void loadData() {
    System.out.println( "Id: " + id );
}
Run Code Online (Sandbox Code Playgroud)

更新2

我发现了自己的错误.元数据部分位于模板文件中.当我将标签放入主文件的详细信息页面时,它可以工作.非常感谢你.

parameters jsf scope view

2
推荐指数
1
解决办法
1万
查看次数

从支持 bean 中的 inputtext 获取值(jsf 2)

我有一个一行的数据表,我需要编辑这一行的字段,所以我有一些带有值的 inputText,但是当我编辑它们并单击命令按钮(调用方法“actualizarUsuario”时,这些值作为空值。

这是我的豆代码:

@ManagedBean(name = "user")
@ViewScoped
public class userDetalles implements Serializable {



    private Usuario u;
    private usuarioController controlador;
    Rol rol;

    private long selection;
    private long selectionrol;
    Agrupacion agrupacion;
    private Privilegio privilegio;
    private RolController controladorRol;
    private ControladorAgrupaciones controladorAgrup;
    private String nombres;
    private String apellidoP;
    private String apellidoM;
    private Boolean check;

    @PostConstruct
    public void init() {

       rol= new Rol() ;
       u=new Usuario();
       agrupacion=new Agrupacion();
       privilegio=new Privilegio();
       controlador= new usuarioController();
       controladorRol=new RolController();
       controladorAgrup=new ControladorAgrupaciones();
       Usuario u=new Usuario();
       FacesContext facesContext = FacesContext.getCurrentInstance();
       ExternalContext …
Run Code Online (Sandbox Code Playgroud)

jsf-2 managed-bean

1
推荐指数
1
解决办法
2万
查看次数