小编Kri*_*hna的帖子

JSF中的最佳实践:模型,操作,getter,导航,phaselisteners

我已经进入了一个重新考虑JSF实现的项目.现有代码没有遵循正确的JSF标准.为了实现这一点,我正在学习JSF中的所有概念(我已经掌握了JSF的实验).具体来说,我想问一下我的想法.

  • 在MVC模式中,JSF中的模型组件是什么?它是Managed Bean吗?
  • 在动作方法中编写业务逻辑是个好主意吗?我已经看过用行动方法写的数百行.
  • 你认为我们可以在getter方法中编写任何逻辑吗?在JSF生命周期中调用getter或setter的次数.
  • 编写faces-config.xml的传统方法是什么?我在一个文档中读到它说好的做法是将bean的托管bean声明和导航案例一起编写.它会更具可读性.
  • 写入阶段监听器会影响响应时间.例如,我正在编写一个逻辑来解析PhaseListener中的请求参数并执行一些逻辑.对此有什么建议吗?

请回答以上问题.如果我对答案很清楚,那么我会提出更多问题.

java jsf

7
推荐指数
1
解决办法
8805
查看次数

Valuechangelistener在JSF中存在疑问

HI,

请参阅以下代码:

                <h:selectOneMenu id="countries" value="#{countryBean.selectedCountry}" onchange="submit()
                                    valueChangeListener="#{countryBean.changeCountry}">
                    <f:selectItems value="#{countryBean.countries }" />
                </h:selectOneMenu>  
Run Code Online (Sandbox Code Playgroud)

支持Bean

public void changeCountry(ValueChangeEvent event){      
    String newValue = (String)event.getNewValue();
    String oldValue = (String)event.getOldValue();

    System.out.println("New Value : " + newValue);
    System.out.println("Old Value : " + oldValue);

    if ("1".equals(newValue)){
        this.countries = new ArrayList<SelectItem>();
        this.cities.add(new SelectItem("1","Delhi"));
        this.cities.add(new SelectItem("2","Mumbai"));
    }
    if ("2".equals(newValue)){
        this.cities = new ArrayList<SelectItem>();
        this.cities.add(new SelectItem("1","Mossco"));
    }       
}
Run Code Online (Sandbox Code Playgroud)

如果实施正确,请告诉我.它工作正常.我的问题是:

  • h:selectOneMenu标记内添加f:valueChangeListener标记有什么好处.我使用了普通属性valueChangeListener ="#{countryBean.changeCountry}".
  • 是否有必要使用onchange ="submit()此代码来更改值.
  • 通过实现ActionListener接口并仅使用UIComponent标记中的属性(action ="methodName")来编写自定义侦听器之间有什么区别.请解释一下.

jsf

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

在JSF中存储视图ID

我想了解JSF如何存储视图和恢复视图.我已经读过它正在为每个视图创建单独的视图ID并将其存储在服务器上.然后它检索.以下是我的问题:

  • 在什么基础上创建和存储视图ID?
  • 它是基于在faces-config.xml上声明的JSP创建的吗?
  • 基本上它是为每个JSP创建的一个视图ID吗?
  • 如何传递视图ID来呈现响应?它是否在请求参数中传递?

java jsf

6
推荐指数
1
解决办法
6053
查看次数

无法找到EL RI表达式工厂

我在我的应用程序中收到以下异常.

com.sun.faces.config.ConfigurationException:看起来容器的JSP版本早于2.1,无法找到EL RI表达式工厂com.sun.el.E​​xpressionFactoryImpl.如果不使用JSP或EL RI,请确保正确设置了上下文初始化参数com.sun.faces.expressionFactory.

如何在中设置EL细节web.xml.

jsf jsp el

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

何时选择Spring Framework?

HI,

我想知道何时必须选择Spring框架.选择弹簧框架有明显的优势吗?我不想知道差异,而不是选择J2EE等其他技术,为什么我们特别选择Spring呢?

spring

5
推荐指数
1
解决办法
2305
查看次数

Web应用程序和REST服务在tomcat和spring-security中进行SSO

我在同一个tomcat实例中使​​用了两个不同的Web应用程序.Web应用程序之一,另一个是REST服务.当用户登录Web应用程序并调用REST服务时,REST应该使用Web应用程序登录的用户进行身份验证.如何在tomcat中实现SSO>如果有人实现了它,请帮助mw.

更新: 我在我的第一个Web应用程序中实现了Spring Security和J2EEPreAuthentication机制.该应用程序使用DOJO(JavaScript框架)调用第二个应用程序(REST服务).

更新: 我找到了解决方案.请阅读下面的答案.

tomcat spring-security single-sign-on

5
推荐指数
1
解决办法
6711
查看次数

在应用程序启动(JSF)中调用操作方法

我们需要在调用应用程序的第一页时调用action方法.例如,第一页是index.jsp,当我们直接调用此页面时,不调用action方法.为了实现这一点,我们编写了另一个页面,它使用java脚本单击按钮并调用action方法,该方法导航到index.jsp.

我觉得JSF应该有适当的方法来完成这个任务.这样做的赌注是什么?我告诉团队我们可以在加载页面时在构造函数中调用action方法.这是正确的方法吗?有哪些可能的解决方案?

jsf

4
推荐指数
1
解决办法
7318
查看次数

FileInputStream使用包路径

我正在尝试读取如下文件:

FileInputStream fileInputStream = new FileInputStream("/com/test/Test.xml");
Run Code Online (Sandbox Code Playgroud)

我总是得到文件未找到异常.我怎样才能使它工作?输入流是否采用相对路径?

java file-io

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

Tomcat 在 Spring Boot 中的嵌入方式

我正在使用 Spring Boot 来构建和部署我的 Spring 应用程序。我有一个关于 Spring boot 如何将服务器嵌入到包中的问题。我看到有以tomcat-embed-core为名的JAR文件,即tomcat-embed-el。这是完整的tomcat解决方案还是内部使用本地系统中安装的tomcat?

如果我们想使用像WAS 8.5这样的应用服务器,有没有Spring Boot提供的解决方案?

spring-boot

4
推荐指数
1
解决办法
6878
查看次数

了解PhaseListener.getPhaseId

HI,

我需要澄清实现PhaseListener类.以下是PhaseListener.getPhaseId的两个不同的重写实现

@Override
public PhaseId getPhaseId() {       
    return PhaseId.ANY_PHASE;
}
Run Code Online (Sandbox Code Playgroud)

@Override
public PhaseId getPhaseId() {       
    return PhaseId.RESTORE_VIEW;
}
Run Code Online (Sandbox Code Playgroud)

这两种实现有什么重大区别?会有什么影响?

jsf phaselistener

3
推荐指数
1
解决办法
2979
查看次数

JSF中的ActionListener阶段

HI,

我对在JSF bean中调用ActionListener方法有疑问.例如,JSF表单的每个请求或提交都经历了六个阶段的生命周期.但是,当我们触发特定事件(如动作侦听器或值更改侦听器)时,是否存在与该请求关联的生命周期?

请澄清我.

jsf

3
推荐指数
1
解决办法
9151
查看次数

如何为 Laravel 应用程序设置 Cloudfront CDN?

我们开发了一个运行良好的 Laravel 应用程序。一旦我们启用了 CDN(Amazon Cloudfront),它就停止了所有形式的工作。无论哪里有表单提交,如登录、联系我们等。它根本不起作用。

我们已经确定应该对 Laravel 应用程序进行一些更改,我们正在寻求一些已成功使用 CDN 配置 Laravel 应用程序的专家的帮助。

我们使用的是 PHP 7.1.20 和 Laravel 5.4 版本。

php content-delivery-network amazon-cloudfront laravel

3
推荐指数
2
解决办法
3143
查看次数

如何使用JavaScript禁用浏览器的后退按钮

我想使用JavaScript禁用浏览器中的后退按钮.任何人都可以帮我怎么做?

html javascript browser

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