From 414735b8c36fec2224a2da843ccbfc9beabf71eb Mon Sep 17 00:00:00 2001 From: k0l0ssus Date: Sat, 6 Aug 2016 00:30:19 -0400 Subject: [PATCH 1/7] EL 3.0 Page --- jsf/src/main/webapp/el3_intro.xhtml | 35 +++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 jsf/src/main/webapp/el3_intro.xhtml diff --git a/jsf/src/main/webapp/el3_intro.xhtml b/jsf/src/main/webapp/el3_intro.xhtml new file mode 100644 index 0000000000..7a5d2ff7bf --- /dev/null +++ b/jsf/src/main/webapp/el3_intro.xhtml @@ -0,0 +1,35 @@ + + + + + Baeldung | Expression Language 3.0 + + + + +
+ + +
+ + +
+ + +
+ + +
+ + + + + + + + +
+ + From 34e75575137bfefedadee5d9d8f8b0a13751788e Mon Sep 17 00:00:00 2001 From: k0l0ssus Date: Sat, 6 Aug 2016 00:43:06 -0400 Subject: [PATCH 2/7] Backing bean code in support of EL 3.0 --- .../springintegration/controllers/ELSampleBean.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java b/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java index a13f0890b5..58dedb08b7 100644 --- a/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java +++ b/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java @@ -16,6 +16,7 @@ public class ELSampleBean { private String firstName; private String lastName; private String pageDescription = "This page demos JSF EL Basics"; + public static final String constantField = "THIS_IS_NOT_CHANGING_ANYTIME_SOON"; private int pageCounter; private Random randomIntGen = new Random(); @@ -27,11 +28,19 @@ public class ELSampleBean { public void save() { } + + public static String getConstantField() { + return constantField; + } public void saveFirstName(String firstName) { this.firstName = firstName; } + public String multiplyValue(LambdaExpression expr){ + String theResult = (String) expr.invoke(FacesContext.getCurrentInstance().getELContext(), pageCounter); + return theResult; + } public void saveByELEvaluation() { firstName = (String) evaluateEL("#{firstName.value}", String.class); From e97cd1122fe54c5776bb3d9a59a97f91ea148bd6 Mon Sep 17 00:00:00 2001 From: k0l0ssus Date: Sat, 6 Aug 2016 00:45:22 -0400 Subject: [PATCH 3/7] Update el3_intro.xhtml --- jsf/src/main/webapp/el3_intro.xhtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jsf/src/main/webapp/el3_intro.xhtml b/jsf/src/main/webapp/el3_intro.xhtml index 7a5d2ff7bf..ebd3acad0a 100644 --- a/jsf/src/main/webapp/el3_intro.xhtml +++ b/jsf/src/main/webapp/el3_intro.xhtml @@ -23,7 +23,7 @@
- + From a54265fff0679fdf860be9dadf5e1df01fa59fe6 Mon Sep 17 00:00:00 2001 From: slavisa-baeldung Date: Thu, 11 Aug 2016 06:22:01 +0200 Subject: [PATCH 4/7] BAEL-197 - EL3 dependency added --- jsf/pom.xml | 4 ++-- .../baeldung/springintegration/controllers/ELSampleBean.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/jsf/pom.xml b/jsf/pom.xml index b80bcfb416..99ce38145c 100644 --- a/jsf/pom.xml +++ b/jsf/pom.xml @@ -27,7 +27,7 @@ javax.el - el-api + javax.el-api ${javax.el.version} @@ -127,7 +127,7 @@ 2.1.7 - 2.2 + 3.0.0 1.7.13 diff --git a/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java b/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java index 58dedb08b7..035146ecf8 100644 --- a/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java +++ b/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java @@ -1,13 +1,13 @@ package com.baeldung.springintegration.controllers; -import java.util.Random; import javax.annotation.PostConstruct; +import javax.el.LambdaExpression; import javax.faces.application.Application; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; -import javax.faces.component.html.HtmlInputText; import javax.faces.context.FacesContext; +import java.util.Random; @ManagedBean(name = "ELBean") @ViewScoped From 24b753c0a617f7ba964d28efb7a1dd55120bd9c8 Mon Sep 17 00:00:00 2001 From: slavisa-baeldung Date: Thu, 11 Aug 2016 06:31:58 +0200 Subject: [PATCH 5/7] BAEL-197 - JSF deps incremented --- jsf/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jsf/pom.xml b/jsf/pom.xml index 99ce38145c..6a4b358252 100644 --- a/jsf/pom.xml +++ b/jsf/pom.xml @@ -126,7 +126,7 @@ 4.2.5.RELEASE - 2.1.7 + 2.2.13 3.0.0 From 2c0960b57dec251ea9c71d4970356caaeb9d9e3c Mon Sep 17 00:00:00 2001 From: k0l0ssus Date: Sat, 13 Aug 2016 11:18:09 -0400 Subject: [PATCH 6/7] Adding LambdaExpression class import --- .../baeldung/springintegration/controllers/ELSampleBean.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java b/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java index 58dedb08b7..a7ca7d3ede 100644 --- a/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java +++ b/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java @@ -4,6 +4,7 @@ import java.util.Random; import javax.annotation.PostConstruct; import javax.faces.application.Application; import javax.faces.application.FacesMessage; +import javax.el.LambdaExpression; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.component.html.HtmlInputText; @@ -15,6 +16,7 @@ public class ELSampleBean { private String firstName; private String lastName; + private Collection numberList; private String pageDescription = "This page demos JSF EL Basics"; public static final String constantField = "THIS_IS_NOT_CHANGING_ANYTIME_SOON"; private int pageCounter; From 171cf1f3b459afb6ac9642c61f7913accb615d39 Mon Sep 17 00:00:00 2001 From: slavisa-baeldung Date: Sun, 14 Aug 2016 08:46:06 +0200 Subject: [PATCH 7/7] BAEL-197 - minor changes --- .../controllers/ELSampleBean.java | 16 ++++++++++++---- jsf/src/main/webapp/el3_intro.xhtml | 4 ++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java b/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java index 4d194193e6..16d9f80d89 100644 --- a/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java +++ b/jsf/src/main/java/com/baeldung/springintegration/controllers/ELSampleBean.java @@ -1,6 +1,8 @@ package com.baeldung.springintegration.controllers; import javax.annotation.PostConstruct; +import javax.el.ELContextEvent; +import javax.el.ELContextListener; import javax.el.LambdaExpression; import javax.faces.application.Application; import javax.faces.application.FacesMessage; @@ -8,6 +10,7 @@ import javax.el.LambdaExpression; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.context.FacesContext; +import java.util.Collection; import java.util.Random; @ManagedBean(name = "ELBean") @@ -16,7 +19,6 @@ public class ELSampleBean { private String firstName; private String lastName; - private Collection numberList; private String pageDescription = "This page demos JSF EL Basics"; public static final String constantField = "THIS_IS_NOT_CHANGING_ANYTIME_SOON"; private int pageCounter; @@ -25,13 +27,19 @@ public class ELSampleBean { @PostConstruct public void init() { pageCounter = randomIntGen.nextInt(); + FacesContext.getCurrentInstance().getApplication().addELContextListener(new ELContextListener() { + @Override + public void contextCreated(ELContextEvent evt) { + evt.getELContext().getImportHandler().importClass("com.baeldung.springintegration.controllers.ELSampleBean"); + } + }); } public void save() { } - public static String getConstantField() { + public static String constantField() { return constantField; } @@ -39,8 +47,8 @@ public class ELSampleBean { this.firstName = firstName; } - public String multiplyValue(LambdaExpression expr){ - String theResult = (String) expr.invoke(FacesContext.getCurrentInstance().getELContext(), pageCounter); + public Long multiplyValue(LambdaExpression expr) { + Long theResult = (Long) expr.invoke(FacesContext.getCurrentInstance().getELContext(), pageCounter); return theResult; } diff --git a/jsf/src/main/webapp/el3_intro.xhtml b/jsf/src/main/webapp/el3_intro.xhtml index ebd3acad0a..3f1f407a08 100644 --- a/jsf/src/main/webapp/el3_intro.xhtml +++ b/jsf/src/main/webapp/el3_intro.xhtml @@ -11,7 +11,7 @@
- +
@@ -19,6 +19,7 @@
+
@@ -29,7 +30,6 @@
-