2012-05-02 2 views
1

Я пишу условие в файле jsp, на котором отображается изображение. Это что-то вроде этого.Struts tag "if test" в jsp

<s:if test='#session.member.memberisadmin == "Y" 
    && #session.member.hasPermission("Update access to white list terms") =="true" '> 

<a href="<gs:url action="listLabs" namespace="/labs"/>"><img src="<gs:url 
value="/images/labs/labs-48px.png"/>" alt="General Sentiment Labs" style="margin- 
bottom:5px;" /></a> 

</s:if> 

Проблема с вторым условием session.member.haspermission, потому что, когда я использую || (или) вместо & & (а) оборотный штраф. Пожалуйста, предложите мне решение для этого.

+1

Он работает при использовании || потому что первое условие верно. Он не работает, когда вы используете &&, потому что второе условие ложно. Так вы можете объяснить, в чем проблема? – Dandy

+0

Что такое значение . ИМХО определяет, имеет ли пользователь разрешение или нет в действии, и задает там значение и сравнивает его в jsp. –

+0

, когда я отдельно присваиваю значение второго условия переменной javascript, я получаю ошибку redcolor в строке в netbeans ide ... var result = " " –

ответ

2

Какой тип результата member.hasPermission() метод? Если вернуться boolean тогда ваша мачта проверить его, как этот

<s:if test='#session.member.memberisadmin == "Y" && #session.member.hasPermission("Update access to white list terms")'>

+0

Re: (1), вы можете использовать' == 'в выражениях OGNL для сравнения строк. См. Раздел [Операторы операторов языка OGNL] (http://commons.apache.org/ognl/language-guide.html#Operators). –

+0

Да, вы правы. «Если они являются одним и тем же объектом или метод equals() говорит, что они равны, они равны». Не знаю, спасибо. –

+0

метод member.hasPermission() возвращает boolean, то есть true или false ... –