三目运算符
:
输出b;
这样的结果是b为2
灰常简单的例子目前主要用于jsp页面中进行显示.
在Jsp页面中使用的时候,不能将三目运算符放进struts2标签中,否则会报错.
org.apache.jasper.JasperException: /jsp/employee/index.jsp(101,24) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
很多标签中不支持直接进行判断取值操作
<表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果.
例:
- int a=2;
- int b=(a==2?2:5);
输出b;
这样的结果是b为2
灰常简单的例子目前主要用于jsp页面中进行显示.
- <%=user.getRoles()==1 ?"管理员" :"员工"%>
- ${emp.empIsOn=="1" ?"是":"否"}
在Jsp页面中使用的时候,不能将三目运算符放进struts2标签中,否则会报错.
org.apache.jasper.JasperException: /jsp/employee/index.jsp(101,24) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
很多标签中不支持直接进行判断取值操作
public void setBulbState(boolean state) {
// TODO Auto-generated method stub
CheckBox cb=(CheckBox) this.findViewById(R.id.remeberPwd);
cb.setText((state)?R.string.off:R.string.on);
cb.setChecked(state);//设置复选框文字状态
}