浏览 6172 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2005-02-17
<%if (SysInfo.getInstance();.getAuthcode(); == 0);{%> <TR> <TD align=right><SPAN class=gen>验证码:</SPAN></TD> <TD> <html:text property="yzm" size="25" maxlength="25" value=""/> <bonc:webInfo type="authcode"/>(这个是生成验证码随机数的自定义标签); </TD> </TR> <%}%> 其中<bonc:webInfo type="authcode"/>是自定义标签.相关代码如下: if (SysInfo.getInstance();.getAuthcode(); == 0); String output = "<img src='authimg'>"; ResponseUtils.write(pageContext, output);; return (SKIP_BODY);; 为了去掉JSP中的<%%>我修改了<bonc:webInfo type="authcode"/>中的out 为: output = "<TR><TD align=right><SPAN class=gen>验证码:</SPAN></TD><TD><html:text property='yzm' size='25' maxlength='25' value=\"\"/> <img src='authimg'></TD></TR>"; JSP 中简化为 <bonc:webInfo type="authcode"/> 但是 问题出现了.就是 <html:text property='yzm' size='25' maxlength='25' value="">这个标签不能在被执行,而是当作一个字符串. 我想请问有什么办法 实现我想要做的效果么? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-02-17
这个是不应该这样做,你输出的东西是向客户端输出的,已经脱离服务器环境了,不想用<%%>可以用jstl表达式进行替代
|
|
返回顶楼 | |
发表时间:2005-02-17
紧急下潜 写道 这个是不应该这样做,你输出的东西是向客户端输出的,已经脱离服务器环境了,不想用<%%>可以用jstl表达式进行替代
jstl怎么写啊 ? |
|
返回顶楼 | |
发表时间:2005-02-17
大概是这个样子
<c:if test="${SysInfo.getInstance().getAuthcode() == 0}"> <TR> <TD align=right><SPAN class=gen>验证码:</SPAN></TD> <TD> <html:text property="yzm" size="25" maxlength="25" value=""/> <bonc:webInfo type="authcode"/>(这个是生成验证码随机数的自定义标签) </TD> </TR> </c:if> |
|
返回顶楼 | |
发表时间:2005-02-17
紧急下潜 写道 大概是这个样子
<c:if test="${SysInfo.getInstance().getAuthcode() == 0}"> <TR> <TD align=right><SPAN class=gen>验证码:</SPAN></TD> <TD> <html:text property="yzm" size="25" maxlength="25" value=""/> <bonc:webInfo type="authcode"/>(这个是生成验证码随机数的自定义标签) </TD> </TR> </c:if> 这么写有什么好处啊? 和 <%%> 一样的思路, 好在哪里啊? 我想这样写, <logic:notEqual value="2" name="SysInfo" property="authcode"> <TR> <TD align=right><SPAN class=gen>验证码:</SPAN></TD> <TD><html:text property="yzm" size="25" maxlength="25" value=""/><bonc:webInfo type="authcode"/></TD> </TR> </logic:notEqual> 但是不知道不知道那个SysInfo这个Bean怎么能找到.以前都是 在action中给他 SysInfo sysInfo = SysInfo.getInstance();; request.setAttribute("SysInfo",sysInfo);; 然后JSP 中那样用才行. 现在我这个JSP 没用action生成. 就是 一个 登陆的前台.那个是判断 是否 显示验证码. 根据 后台 xml文件设置决定 .2表示 不需要验证码. |
|
返回顶楼 | |
发表时间:2005-02-18
其中<bonc:webInfo type="authcode"/>是自定义标签.相关代码如下: if (SysInfo.getInstance();.getAuthcode(); == 0); String output = "<img src='authimg'>"; ResponseUtils.write(pageContext, output);; return (SKIP_BODY);; 哈,这样不是更简单吗? String output = null; if (SysInfo.getInstance();.getAuthcode(); == 0); output = "<img src='authimg'>"; else output = ""; ResponseUtils.write(pageContext, output);; return (SKIP_BODY);; |
|
返回顶楼 | |
发表时间:2005-02-19
紧急下潜 写道 其中<bonc:webInfo type="authcode"/>是自定义标签.相关代码如下: if (SysInfo.getInstance();.getAuthcode(); == 0); String output = "<img src='authimg'>"; ResponseUtils.write(pageContext, output);; return (SKIP_BODY);; 哈,这样不是更简单吗? String output = null; if (SysInfo.getInstance();.getAuthcode(); == 0); output = "<img src='authimg'>"; else output = ""; ResponseUtils.write(pageContext, output);; return (SKIP_BODY);; 不明白你什么意思 。 else时候做什么 和 我现在的问题 没关系。 问题 是 if成立的时候,strtus标签 怎么 和 自定义标签 结合。 |
|
返回顶楼 | |
发表时间:2005-03-12
你想要达到你要的效果,只能加一个action
如果没有搞错你的意思的话,你的这个页是登录页面,其实登录之前,也可以调用action的 index.jsp只写下面两行 <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <logic:redirect page="/common/before-login.do"/> 然后在befroe-login对应的action里设置你想要的任何属性 success后转到你目前的登录页面。这样就可以用logic标签。 上面那位给的是用jstl 的做法,应该是一个比较好的方案,如果只想用struts的标签,有时候难免要多写几个action了 如果全用<% %>一个action都可以不写呀,又回到jsp+jdbc 的时代。 |
|
返回顶楼 | |