当前位置: 首页 > 知识库问答 >
问题:

JSF如何与View连接?

松思源
2023-03-14

我需要帮助,在理解JSF连接Java类文件的方式。在我当前进入的项目中,它使用类对象将JSF与Java类连接起来。但我不知道对象在哪里初始化。在Struts中,我们通过Struts.xml将JSP与action连接起来。但是在这里我没有看到任何映射,它只是使用

#{classNameObject.methodName}

这里的classnameobject是一个对象,而不是类名。

我的问题是这个#{classnameobject.methodname}如何精确地连接到classname?

<p:dataTable id="dataTable" value="#{employeeList.empVarList}"
                                var="employee" emptyMessage="No Employees found" rows="15"
                                paginator="true"
                                paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                rowsPerPageTemplate="10,15,20" rowIndexVar="rowIndex"
                                dynamic="false" cache="false" lazy="false"
                                style="display:block;overflow-y:none;overflow-x:auto;">
private List<Employee> employeeList = new ArrayList<Employee>();

除了冬眠,我只是一个星期以上的经验。请帮我把你所有的东西都拿出来。提前道谢。

共有1个答案

澹台俊材
2023-03-14

JSF使用Unified Expression Language(即所谓的EL)访问托管bean。这就是您在问题中提到的#{classnameobject.methodname},它是在呈现页面之前求值的表达式。

在此基础上,定义一组可供访问的bean,您可以使用注释(@managedbean@named)或在faces-context xml文件中定义它们,框架将在应用程序启动时读取这些文件。使用xml文件比注释更过时,而注释实际上更流行。当应用程序通过反射启动时,框架将扫描项目的所有相关注释。

对于bean名称,您可以自己选择它们,或者,如果您没有指定它们,JSF将为它们的类名分配第一个字母的小写。这样你就可以从EL引用它们了。

@ManagedBean
@ViewScoped
public Class PersonBean{

    Person person;

    public void postConstruct(){
        person = loadPerson();
    }

    public Person getPerson(){
        return person;
    }

    public void changeName(String newName){
        person.setName(newName);
    }

}
<h:outputText value="#{personBean.person.name}" />
<h:commandButton value="Person name changer" 
    action="#{personBean.changeName('Ben')}" />
 类似资料:
  • 问题内容: Spring 3.0中是否有类似JSF的范围?我有一个使用JSF + Spring的应用程序,其中后备bean由Spring管理。我没有在Spring中找到像JSF wiew scope这样的范围。但是它对我没有用。 这是我对自定义Spring范围的尝试: application-context.xml: 问题答案:

  • 主要内容:JSF + MySQL JDBC实例我们可以将JSF应用程序集成到jdbc。 JDBC可将数据存储到数据库表中。在本教程中,我们创建一个应用程序并创建jdbc连接来存储用户输入的数据。 JSF + MySQL JDBC实例 打开 NetBeans IDE,创建一个名称为:JdbcConnectivity 的 Web 工程,其目录结构如下所示 - 提示: 需要加入 Jar包。 此应用程序包含用户输入表单,委托bean和响应页面,如以下

  • 问题内容: 我正在使用一种简单的代码从Java应用程序访问SQLite数据库。我的代码是 但是这段代码给出了一个异常 我该如何解决,请帮助我。 问题答案: 您需要在类路径中有一个SQLite JDBC驱动程序。 Taro L. Saito(xerial)分叉了Zentus项目,并以sqlite-jdbc的名称进行维护。它捆绑了主要平台的本机驱动程序,因此您无需单独配置它们。

  • 我已经尝试了以下代码: 但它显示了一些错误: New-Object:异常调用". ctor"与"1"参数:"无法加载文件或程序集"System.运行时。InteropServices.RuntimeInformation, Version=4.0.0.0,'区域性=中性, PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。" at D:\用户\x

  • 好了,到这里要恭喜你正式进入 Android 基础的学习,在后面的章节会陆续出现很多 Android 原生 API,在学习之前向大家推荐 Google 官方文档,里面有很全的 API 功能描述、使用说明及使用示例。当然,如果英文原版大家上不去,可以访问中文站点:Google官方中文文档,英语盲不要高兴的太早,说是中文文档,但其实内容几乎都是直接 copy 的英文。不过还是建议大家在学习过程中多多查

  • 我正在尝试在我的JSF应用程序中使用无扩展URL。。。 我已经在使用:https://showcase.omnifaces.org/facesviews/ExtensionlessURLs这很好,但是如果我有一个带有参数的URL,它仍然带有: mypage.jsf?myparameter=12345 这里也有排除的可能性吗。jsf,因此URL将是: 我的页面?参数设置 我知道也有Prettyfac