ssh,如何在jsp页面中判断struts2的action中对象属性的属性在数据库中是否为空

如:action类中代码为publicclassAextendsActionSupport{privateUserManagerum;privateUseruser;pu... 如:
action类中代码为

public class A extends ActionSupport{
private UserManager um;
private User user;

public String getUser(){
return user;

}

public void setUser(User user) {
this.user= user;
}
public String getUm(){
return um;

}

@Resource(name="um")

public void setUm(User um) {
this.um= um;
}
@Override

public String execute() throws Exception {

this.user=cm.load(id);
return "success";
}
算了,代码比较简单就不贴了

在User的实体类中有Userid,username和password等属性

那么我该如何在jsp也面中使用struts的标签或其他方法判断username在数据库里是否为空呢?

我知道struts2中有个<s:if>的标签,但是不知道这种情况test该怎么写,请前辈高手求助,因为是自学, 所以没其他人问了
像这样写之后:<s:if test="${User .username}==null">空值</s:if>
<s:else>${User.username}</s:else>
在控制台还会出现不同的错,有的时候是这样的:
org.apache.jasper.JasperException: /companys/company_danwei.jsp(37,1) According to TLD or attribute directive in tag file, attribute test does not accept any expressions

有的时候则是这样的.
java.lang.ClassNotFoundException: org.apache.jsp.companys.company_005fdanwei_jsp
我test里用el表达式的时候就帮我标黄线了,是不是得另外导包才能用。
字数受限...
展开
 我来答
sbr32900
2013-08-19 · TA获得超过270个赞
知道答主
回答量:178
采纳率:100%
帮助的人:185万
展开全部
亲,你从数据库中把数据提取出来赋到实体类里,(不管有没有数据都可以提取赋值)然后再判断,如果你想在action里判断,这样子:
if(user.username == null ){
System.out.print("username为空")
}
如果你想在JSP页面里判断,这样子:
<s:if test="${User .username}==null">
<a>username的值为空</a>
</s:if>
<s:else><s:property value="username"/></s:else>
希望可以帮到你,望采纳!
补充:你还可以这样子,在action里面再加一个属性,比如:
private String bj;//一个标记(get set 方法就不写了)
在action里判断如果user.username为空,就可以给给这个标记赋为“0”,不为空为“1”,在页面中直接判断bj的值就可以了。呵呵 这下应该能满足LZ的要求了吧。
更多追问追答
追问
其实我昨天也用el表达式试了半天,我测试了几次,在控制台还会出现不同的错,有的时候是这样的: According to TLD or attribute directive in tag file, attribute test does not accept any expressions(字数受限了写不下了)
追答
先试试这个吧,有的时候EL表达式回报一些我也讲不好的错,或许是属性绑定出了问题。再试试,加油!
xjyworkspace
2013-08-19 · 超过32用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:76.8万
展开全部
test里面的是表达式,跟java里面的用法差不多,具体的我没测试,不过${User.username==null}和${User.username}==null都可以,你可以试试楼上的答案
更多追问追答
追问
我test里用el表达式的时候就帮我标黄线了,是不是得另外导包才能用。
追答
不是的,那你考虑一下#User.username==null或者%User.username==null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友752e907
2013-08-19 · TA获得超过513个赞
知道小有建树答主
回答量:809
采纳率:50%
帮助的人:450万
展开全部
<s:if test="${User .username}==null">空值</s:if>
<s:else>${User.username}</s:else>
追问
这么用还是出错了
我test里用el表达式的时候就Myeclipse帮我标黄线了,是不是得另外导包才能用。指向黄线提示是这样的- Invalid attribute (test).
追答
不用啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咎慧语05X
2013-08-19 · TA获得超过861个赞
知道小有建树答主
回答量:636
采纳率:25%
帮助的人:202万
展开全部
<!--用这个之前别忘记加Struts标签库 page属性-->
<c:if test="${username not empty }">
<!--要怎样.......-->
</c:if>
更多追问追答
追问
加了,问题已经解决了谢谢.
追答
那满意答案还不是我。。。伤心了。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式