Winchill 9.0以后的版本使用了J2EE中惯用的jca标签,给Windchill的查询信息显示带来了方便。
查询在后台处理,通过jca在jsp需要显示的内容,再不用我们自己去写显示样式了,jca可以做到,并且很符合Windchill的风格。
下面我们可以看看如何做一个简单的jca显示wtdocument的name、number、creator与modifyTimestamp信息:
首先:创建一个jsp(如:MyJsp.jsp),包含begin.jspf与end.jspf,在begin.jspf与end.jspf中间添加jca标签,
需要引用<%@ taglib uri="http://www.ptc.com/windchill/taglib/components" prefix="jca" %>来引用jca标签,
<jca:describeTable id="" var="tableDescribe" label="test" type="wt.doc.WTDocument">
<jca:describeColumn id="number" label="文档编码"/>
<jca:describeColumn id="name" label="文档名称"/>
<jca:describeColumn id="creator" label="创建者"/>
<jca:describeColumn id="modifyTimestamp" label="修改日期"/>
</jca:describeTable>
type表示需要显示哪个对象的信息
label表格的说明,将显示在页面
var表示describeTable,相关于html的id或name,为了下面的引用
接着:创建一个查询WTDocument的处理类(如:com.test.GetDocuments),该类中添加一个getWTDocument(),一定要声明为public static QueryResult(或Enumeration),方法中通过searchcondition条件查询WTDocument 返回QueryResult,具体查询按自己的要求来写,这里就不做详细处理了。
查询出WTDocument后,在MyJsp.jsp中添加
<jca:getModel descriptor="${tableDescribe}" var="modelDescribe" serviceName="com.test.GetDocuments" methodName="getWTDocument"></jca:getModel>(之间可以传递参数:使用jca:addServiceArgument ,如传递当前用户<jca:addServiceArgument value="${user}" type="wt.org.WTUser"/>)
调用com.test.GetDocuments的getWTDocument()。
descriptor引用describeTable
var为getModel,相关于html的id或name,为了下面的引用
serviceName指定引用哪个处理类
methodName指定调用处理类中的方法
完成后还需要最后一步就可以在页面显示需要的信息了
同学们,做了上面的一些操作,成功就在眼前,
在MyJsp.jsp中添加
<jca:renderTable model="${modelDescribe}"/>
刷新一下页面,看看效果吧。
有更好的方式可以互相探讨,谢谢。
原文链接:http://blog.csdn.net/lyefeng/article/details/5212631?utm_source=jiancool