Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Passing string parameter to a function or method from xhtml

Tags:

jsf

el

I have a button that I'd like to render based on whether a function returns true or false.

The HTML:

<p:commandButton type="button" rendered="#{myBean.checkPermission(1)}" value="Create"  />

And the supporting bean:

public boolean checkPermission(String actionKey) {
...
}

The problem is that when I call checkPermission with a numeric parameter like

#{myBean.checkPermission(1)},

it works fine, but with I pass a String as a parameter, i.e.

#{myBean.checkPermission(ABC)}

, I get an empty string passed. Any idea why?

like image 484
Gaurav Sharma Avatar asked Feb 19 '23 10:02

Gaurav Sharma


1 Answers

You're not passing a String, instead an ABC variable that can't be understood by EL and your method will receive null value (thanks to BalusC for correct me). You should add apostrophes (') to tell the framework you're passing a String:

<p:commandButton type="button" rendered="#{myBean.checkPermission('ABC')}"
    value="Create" />
like image 127
Luiggi Mendoza Avatar answered Mar 15 '23 22:03

Luiggi Mendoza