wabacus轻量级框架的数据使用问题

瑾安 2014-03-17 04:16:08
wabacus框架前台显示数据是直接通过对应xml配置文件中得sql标签内的查询语句得来的,但我现在想sql标签调用后台java方法返回给sql标签一个数据源,而不是通过查询语句得来,请问有什么方法可以这样处理,谢谢!!
附上最简单的sql查询得到数据源代码:
<page xmlns="http://www.wabacus.com" id="listreportpage1">
<tabpanel id="tp1" margin="10px" titlestyle="2">
<report id="report1" title="员工信息列表" parenttitle="普通数据列表报表" dataexport="richexcel|word">
<display>
<col column="{sequence:1}" label="序号"></col>
<col column="no" label="工号" clickorderby="true" valuestyleproperty="style='mso-number-format:\@' width='15%'"></col>
<col column="name" label="姓名" clickorderby="true" width="15%"></col>
<group label="基本信息">
<col column="sex" label="性别"></col>
<col column="age" label="年龄" clickorderby="true" filter="true" filterwidth="120px"></col>
<col column="birthday" label="出生日期" clickorderby="true" displaytype="always"></col>
</group>
<col column="deptname" label="所属部门" filter="true" filterwidth="120px"></col>
</display>
<sql>
<value>
<![CDATA[SELECT no,name,sex,age,birthday,deptname FROM tbl_baseinfo A left join tbl_department B on A.deptno=B.deptno where {#condition#} order by no]]>
</value>
<condition name="txtno" label="工号">
<value>
<![CDATA[(no like '%#data#%' )]]>
</value>
</condition>
<condition name="txtname" label="姓名">
<value>
<![CDATA[(name like '%#data#%' )]]>
</value>
</condition>
<condition name="txtsex" label="性别">
<value>
<![CDATA[(sex =#data#)]]>
</value>
<inputbox type="selectbox">
<option value="" label="性别"></option>
<option value="1" label="男"></option>
<option value="0" label="女"></option>
</inputbox>
</condition>
</sql>
<format>
<value>
sex=sex==null?"1":sex.trim();
if(sex.equals("0")) sex="女";
else sex="男";
birthday=birthday==null?"":birthday.trim();
int idx=birthday.indexOf(" ");//判断是否有时间,有的话就去掉时间,只显示日期
if(idx>0) birthday=birthday.substring(0,idx);
</value>
</format>
</report>
<report id="report2" title="部门简介列表" parenttitle="新闻列表效果" border="horizontal2" dataexport="word" template="${articlelist.report.template}">
<display dataheader="" pagecolselect="false">
<col column="deptno" label="部门编号" displaytype="hidden"></col>
<col column="builtdate" label="创建日期" displaytype="hidden"></col>
<col property="prexdot" column="{non-fromdb}" valuestyleproperty="align='right' width='5px'"></col>
<col column="description" label="标题" datatype="clob" valuestyleproperty="align='left'"></col>
</display>
<sql>
<value>
<![CDATA[SELECT * FROM tbl_department where {#condition#} order by deptno]]>
</value>
<condition name="txtdeptno" label="部门编号">
<value>
<![CDATA[(deptno like '%#data#%' )]]>
</value>
<inputbox>
<typeprompt width="200" count="15">
<promptcol label="deptno" matchmode="anywhere"></promptcol>
<datasource> <option dataset="@{select deptno from tbl_department where {#matchcondition#}}"></option> </datasource>
</typeprompt>
</inputbox>
</condition>
</sql>
<format>
<value>
<![CDATA[
prexdot="<img src='/WabacusDemo/wabacusdemo/images/dot_prex.gif'>";//显示在标题前面的点
builtdate=builtdate==null?"":builtdate.trim();
if(builtdate.indexOf(" ")>0) builtdate=builtdate.substring(0,builtdate.indexOf(" "));//去除掉时间部分
description=description==null?"":description.trim();
if(!description.equals(""))
{
String fulldesc=description;
if(description.length()>40) description=description.substring(0,40)+"...";
description=description.replaceAll("<p>","");
description=description.replaceAll("</p>","");
if(rrequest.getShowtype()== Consts.DISPLAY_ON_PLAINEXCEL)
{
description=description+" ["+builtdate+"]";
}else
{
description=" <span onmouseover=\"this.style.cursor='pointer'\" onclick=\"wx_win('"+fulldesc+"',{width:400,height:200})\">"+description+"</span>";
description=description+" <font color='#505050'>["+builtdate+"]</font>";
}
}
]]>
</value>
</format>
</report>
</tabpanel>
</page>
...全文
172 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
瑾安 2014-03-17
  • 打赏
  • 举报
回复
自己顶下,有没有通道有遇到这种问题的?

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧