Gaurav Sharma
Gaurav Sharma

Reputation: 4052

Passing string parameter to a function or method from xhtml

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?

Upvotes: 4

Views: 7380

Answers (1)

Luiggi Mendoza
Luiggi Mendoza

Reputation: 85789

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" />

Upvotes: 8

Related Questions