浏览 1989 次
|
锁定老贴子 主题:webwork ui tag
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2007-02-23
1. 在jsp中实现
<a href="test.action?id=<ww:property value="id"/>" target="_blank"><ww:property value="name"/></a> 我写成 <ww:a href="test.action?id=%{id}" target="_blank"><ww:property value="name"/></ww:a>
提示 target 无效 2. 在jsp中实现 <select name="<ww:property value="name"/>" dataType="Require" msg="please select">
<ww:iterator value="items">
<option value="<ww:property value="id"/>"
<ww:if test="id==[1].selectedId"> selected="selected"</ww:if>
><ww:property value="name"/></option>
</ww:iterator>
</select>
我写成 <ww:select name="%{name}" id="%{name}" list="items" listKey="id" listValue="name" selected="%{selectedId}" theme="simple" dataType="Require" msg="please select" />
提示 selected, dataType, msg 无效 我查了一下 tag 说明和 tag 对应的源码,确实没有上述几个属性,请问用 ww tag 有何办法实现上述效果? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2007-02-23
问题未解决,上来顶一下,希望高手
|
|
| 返回顶楼 | |
|
时间:2007-02-24
(1) <ww:url id="herfid" value="test.action" namespace="">
<ww:param name="id" value="<ww:property value="id"/>"/> </ww:url> <ww:a href="%{herfid}" target="_blank"><ww:property value="name"/></ww:a> (2) <ww:select label="请选择" name="选择框1" list="items" listKey="id" listValue="name" value="selectedId" required="true" theme="simple" tooltip="please select" /> |
|
| 返回顶楼 | |
|
时间:2007-02-24
sprite 写道 (1) <ww:url id="herfid" value="test.action" namespace="">
<ww:param name="id" value="<ww:property value="id"/>"/> </ww:url> <ww:a href="%{herfid}" target="_blank"><ww:property value="name"/></ww:a> (2) <ww:select label="请选择" name="选择框1" list="items" listKey="id" listValue="name" value="selectedId" required="true" theme="simple" tooltip="please select" /> 多谢楼上的帮助, 不过您写的这两个 没什么效果 第一个 说 target 无效 第二个 在 生成的 <select 里面并没有 dataType="Require" msg="please select" , 同时也没有出现 selected="selected" |
|
| 返回顶楼 | |
|
时间:2007-02-24
问题已解决
1. 1) 新建 com.webwork.tag.AnchorTag 和 com.webwork.tag.components.Anchor package com.webwork.tag;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.webwork.tag.components.Anchor;
import com.opensymphony.webwork.components.Component;
import com.opensymphony.xwork.util.OgnlValueStack;
public class AnchorTag extends com.opensymphony.webwork.views.jsp.ui.AnchorTag {
protected String target;
public Component getBean(OgnlValueStack stack, HttpServletRequest req,
HttpServletResponse res) {
return new Anchor(stack, req, res);
}
protected void populateParams() {
super.populateParams();
Anchor link = (Anchor) component;
link.setTarget(target);
}
public String getTarget() {
return target;
}
public void setTarget(String target) {
this.target = target;
}
}
package com.webwork.tag.components;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.opensymphony.xwork.util.OgnlValueStack;
public class Anchor extends com.opensymphony.webwork.components.Anchor {
protected String target;
public Anchor(OgnlValueStack stack, HttpServletRequest request,
HttpServletResponse response) {
super(stack, request, response);
}
public void evaluateExtraParams() {
super.evaluateExtraParams();
if (target != null) {
addParameter("target", findString(target));
}
}
public String getTarget() {
return target;
}
public void setTarget(String target) {
this.target = target;
}
}
2) /template/simple/a.flt 增加 <#if parameters.target?exists> target="${parameters.target?html}"<#rt/> </#if> 3) webwork-taglib.tld 中找到 <name>a</name> 的位置,对应的 <tag-class>com.opensymphony.webwork.views.jsp.ui.AnchorTag</tag-class> 修改成 <tag-class>com.lincee.framework.webwork.tag.AnchorTag</tag-class> 下面增加 <attribute> <name>target</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <description><![CDATA[anchor target]]></description> </attribute> 经过修改之后,运行 <ww:a href="test.action?id=%{id}" target="_blank"><ww:property value="name"/></ww:a> 结果编译后为 <a href="test.action?id=1" target="_blank">test_name</a> 2. 关于 <ww:select 的,,用上述同样方法,即可增加属性 dataType, msg |
|
| 返回顶楼 | |
|
时间:2007-02-24
select中的selected效果可以通过设置value=%{selectedId},但要注意保持类型的一致;msg效果可以用headerKey和headerValve属性实现,请查阅ui标签的文档。
|
|
| 返回顶楼 | |
|
时间:2007-02-25
monkito 写道 select中的selected效果可以通过设置value=%{selectedId},但要注意保持类型的一致;msg效果可以用headerKey和headerValve属性实现,请查阅ui标签的文档。
headerKey,headerValue的意思我知道,但是我的msg不是说在select第一行添加内容, 而是当js验证dataType未通过时提示警告的文字 上面的 dataType="Require" msg="please select" 的意思就是用户提交时 如果此select未被选择,则给出提示 "please select", 提示用户选择。 此验证为js,故必须要生成如 <select dataType="Require" msg="...." 的形式才可以被js捕获。 此属性为自定义属性,而 ww 的 SelectTag 本身无此属性,故需对其扩展。 |
|
| 返回顶楼 | |
|
时间:2007-02-25
哦 明白了。
|
|
| 返回顶楼 | |





