qq_40392659 2019-04-11 19:49
浏览 546

myeclipse加载报表配置xml文件失败,项目无法正常运行,怎么解决?

图片说明
```<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.wabacus.com ../xsd/wabacus.resources.xsd">

<![CDATA[#label#不能为空]]>


<![CDATA[#data#不是合法数字]]>


<![CDATA[#data#不是有效年龄]]>


<![CDATA[
点击工号、中文名、英文名、性别、年龄、出生日期列的数据标题可以进行排序
]]>


<![CDATA[说明:
点击页面中最右边列的向右箭头或“下载Excel”链接,可以选择要显示/下载的列
]]>


<![CDATA[其中工号查询条件采用任意位置匹配,中文名查询条件采用起始位置匹配]]>


<![CDATA[其中工号查询条件采用任意位置匹配,姓名查询条件采用起始位置匹配]]>


<![CDATA[其中工号提示列采用任意位置匹配,中文名提示列采用起始位置匹配]]>


<![CDATA[通过按住Ctrl键或Shift键用鼠标点击记录行进行多选]]>


<![CDATA[点击“部门编号”查看部门员工列表,点击“部门名称”查看部门详细资料]]>


<![CDATA[点击“部门编号”查看部门员工列表]]>


<![CDATA[点击“工号”查看员工详细资料]]>


<![CDATA[
1、访问报表时查看服务器控制台,通过的子标签中配置的拦截器会在控制台中打印信息;

2、年龄查询条件输入值只能在10到20范围之内,超出后会被前置动作提示出错。
]]>


<![CDATA[
1、访问报表时查看服务器控制台,通过的属性interceptor所引用的在资源文件中定义的拦截器会在控制台中打印信息;

2、年龄查询条件输入值只能在10到20范围之内,超出后会被前置动作提示出错。
]]>


<![CDATA[
1、访问报表时查看服务器控制台,通过的属性interceptor所引用的拦截器JAVA类会在控制台中打印信息;

2、年龄查询条件输入值只能在10到20范围之内,超出后会被前置动作提示出错。
]]>

员工信息列表
序号
工号
个人信息
姓名
性别
年龄
出生日期
工资
入职日期
工号
年龄

<![CDATA[
1、这里演示的是静态配置信息的本地化,对于从数据库取出的动态数据,如果要进行本地化,请参看《Wabacus框架入门与提高》文档

2、为两个查询条件都配置了校验,校验出错信息也支持本地化,校验规则与上面“客户端/服务器端校验”演示的报表一致。
]]>


<![CDATA[
查看“选择一”列选中值 | 查看“选择二”列选中值
]]>


<![CDATA[


这里演示的功能按钮只是测试,虽然是“添加”或“修改”按钮,但不能对报表数据进行编辑,关于数据编辑功能的演示,请参看“数据编辑篇”
]]>


<![CDATA[

注意:通过标签的bordercolor属性只能改变数据部分表格的边框颜色,如果要同时改变标题部分和外层表格的边框颜色,则需要通过修改
wabacus_system.css文件中的.cls-data-th-list、.cls-data-td-list的样式定义实现。
]]>


<![CDATA[

请将鼠标放在数据标题列各单元格之间进行左右移动,调整列宽
]]>


<![CDATA[

说明:对于复杂表头的报表,只能对顶层分组所在单元格以及没有参与列分组的列所在单元格进行移动,比如在这复杂表头报表中:

    “工号”、“年龄”、“入职日期”三列属于没有参与列分组的列,所以可以对它们所在单元格进行移动;

    “基本信息”分组属于顶层分组,因为它不属于哪个分组的子分组,所以也可以对它所在单元格进行移动;

    “中文名”、“英文名”、“性别”三列是参与了列分组的列,所以不能对它们所在单元格进行移动;

    “姓名”分组不是顶层分组,因为它是父分组“基本信息”的一部分,所以不能对它所在单元格进行移动。
]]>


<![CDATA[

请将鼠标放在数据标题列,点击后进行拖动
]]>

type="com.wabacus.config.resource.InterceptorRes">


com.wabacus.util.*
java.util


<![CDATA[
String age=rrequest.getStringAttribute("txtage","");
if(!age.equals(""))
{
try
{
int iage=Integer.parseInt(age);
if(iage20)
{
rrequest.getWResponse().getMessageCollector().alert("输入的年龄:"+age+"起出范围,只能输入10到20之间的数字",null,true);
}
}catch(NumberFormatException nfe)
{
rrequest.getWResponse().getMessageCollector().alert("输入的年龄:"+age+"不是合法数字",null,true);
}
}
System.out.println(new Date()+":::执行完前置动作------------------");
]]>


<![CDATA[
System.out.println(new Date()+":::执行完后置动作-------------------");
]]>



<!-- -->

<![CDATA[


“省”、“市”、“县”三列为下拉框,且是关联下拉框
]]>


<![CDATA[


注意:
    
1、在这种编辑方式中需要先点击“修改”按钮才能修改数据;


    
2、因为此报表的“简介”列是大字段类型,如果是Oracle数据库,且采用的不是oracle10g的jdbc驱动,则可能不能正常的完成添加操作,需要将配置文件中此报表的
<insert/>标签配置的SQL语句:insert into ...后面加上where deptno=@{deptno__old},即变为如下形式:
insert into tbl_department(guid=uuid{},@{deptno},@{deptname},@{manager},@{builtdate},@{performance},@{description}) where deptno=@{deptno__old};然后重新启动即可。
]]>


<![CDATA[


说明:
    
1、修改数据时:“工号”、“姓名”、“所属部门”三列不允许修改

    
2、添加数据时,“性别”、“出生日期”两列不允许添加
]]>


<![CDATA[


说明:

    “姓名”列默认值为“无名”;

    “年龄”列默认值为60;

    “出生日期”列默认值为1980-09-23

    “工资”列默认值为1000

    “省”列默认值为广东

    “市”列默认值为深圳

    “县”列默认值为福田

]]>


<![CDATA[


说明:

    “姓名”列的输入框默认值为“无名”;

    “年龄”列的输入框默认值为60;

    “出生日期”列的输入框默认值为1980-09-23

    “工资”列的输入框默认值为1000

    “省”列的输入框默认值为广东

    “市”列的输入框默认值为深圳

    “县”列的输入框默认值为福田

]]>


<![CDATA[


说明:

    
1、“详细资料1”和“详细资料2”两个细览报表是两种不同编辑方式的细览报表,它们都依赖于“员工信息列表”报表。

    
2、“详细资料1”和“详细资料2”两个细览报表均配置为不允许修改“工号”列,其它列均允许修改。
]]>


<![CDATA[

说明:  在只读模式时,将此报表的“工号”列格式化为一个超链接]]>


<![CDATA[

说明:使用只读访问模式访问时将“部门编号”列格式化为一个超链接,使用默认访问模式时,将“部门经理”列格式化为一超链接]]>


<![CDATA[

说明:
使用只读访问模式访问时将“部门编号”列格式化为一个超链接,如果是添加记录模式,为部门编号赋默认值111111]]>


<![CDATA[


说明:

  此报表配置了一个保存回调函数打印保存的数据,并且声明执行完此回调函数后不更新报表页面的显示,

  这对于保存后跳转到新页面比较有用,可以提高性能,因为这种情况没必要更新页面显示。
]]>


<![CDATA[

说明:
“兴趣爱好”列为弹出输入框窗口编辑框
]]>


<![CDATA[

说明:
通过弹出窗口选择了“兴趣爱好”列的值后,会同时设置“姓名”列和“部门”列的值
]]>


<![CDATA[

说明:
访问页面或操作页面上报表时,请查看控制台上各拦截器的打印信息,可以了解到不同类型、不同位置上的页面拦截器各方法的执行顺序
]]>


<![CDATA[

说明:


  1、“图片文件上传”是指上传后以<img/>标签显示出来的上传类型。

  2、如果要测试这里的文件上传功能,请先修改此报表配置中为此列配置的上传路径到合适路径
]]>


<![CDATA[

说明:

  1、“WEB文件上传”是指上传后能通过URL在浏览器中访问到,Wabacus框架在上传这种类型的文件时,会根据用户配置的rooturl属性构造出此文件的访问URL;

  2、如果要测试这里的文件上传功能,请先修改此报表配置中为此列配置的上传路径到合适路径
]]>


<![CDATA[

说明:

  1、“普通文件上传”就是指一般的文件上传功能,Wabacus框架上传这种类型的文件时,会在上传后返回被上传文件在服务器中的绝对路径;
  2、如果要测试这里的文件上传功能,请先修改此报表配置中为此列配置的上传路径到合适路径
]]>


<![CDATA[

说明:
“上传后文件改名”对上面三种类型的文件上传操作都有效,是指将文件上传到服务器后,框架自动对文件进行更名。

  更名的类型包括如下几种:

    1、常量字符串;

    2、{date}:以当前日期做为文件名;

    3、{time}:以当前时间做为文件名;

    4、{timestamp}:以当前日期时间的毫秒数做为文件名,可以保持每次上传的文件名不重复。
]]>


<![CDATA[
说明:“简介”列即为大字符串类型字段。]]>


<![CDATA[
说明:


  编辑时,“婚否”、“工资”、“所属部门”三列不允许修改;

  添加时,“英文名”、“入职日期”两列不允许输入数据
]]>


<![CDATA[
说明:


  编辑时,“所属部门”、“省”、“市”、“县”四列不允许修改;

  添加时,“姓名”、“性别”两列不允许输入数据
]]>


<![CDATA[
注意:
如果要在照片列进行文件上传,请先修改此报表配置中为此列配置的上传路径到合适路径]]>


<![CDATA[
注意:
如果要在照片列进行文件上传,请先修改此报表配置中为此列配置的上传路径到合适路径]]>


<![CDATA[
说明:
这里演示的主从关系是当主报表没有数据时,从报表仍然显示出来,这也是默认的主从关系]]>


<![CDATA[
说明:
这里演示的主从关系是当主报表没有数据时,从报表不显示出来]]>


<![CDATA[
说明:此页面上所有输入框都只读。]]>


<![CDATA[
说明:此页面上所有按钮都禁用,点击无效。]]>


<![CDATA[
说明:此页面上id为“vp1”的容器的标题授权为不显示出来。]]>


<![CDATA[
说明:此页面上id为“tab1”的tabpane容器配置了三个标签页显示三个报表,但第一个和第二个标签页的display权限设置为false,因此只显示了第三个标签页出来。]]>


<![CDATA[
说明:此页面上id为“tab1”的tabpane容器配置了三个标签页显示三个报表,但第二个标签页的disabled权限设置为true,因此不能切换到这个标签页。]]>


<![CDATA[
说明:

  此页面共包括三个报表,其中报表一、报表二、报表三的“工号”查询条件关联,因为它们的此条件的name属性都是txtno

  报表一、报表三的“姓名”查询条件关联,因为它们的此条件的name属性都是txtname,但与报表二的“姓名”查询条件不关联,因为它的此查询条件的name为txtname1。

  报表一、报表三的“性别”查询条件不关联,因为它们的此条件的name属性不同
]]>

type="com.wabacus.config.resource.InterceptorRes">


java.util.*


<![CDATA[
List lstInsertData=rrequest.getLstInsertedData(rbean);//添加的记录集合
List lstInsertExternalVals=rrequest.getLstInsertedParamValues(rbean);//因为此报表为配置了
List lstUpdateData=rrequest.getLstUpdatedData(rbean);//修改的记录集合
List lstDeleteData=rrequest.getLstDeletedData(rbean);//删除的记录集合
if(lstInsertData!=null&&lstInsertData.size()>0||lstUpdateData!=null&&lstUpdateData.size()>0||lstDeleteData!=null&&lstDeleteData.size()>0)
{
System.out.println("--------------拦截器类型:资源项----------保存前置动作-------------------");
}
Map mData;
if(lstInsertData!=null&&lstInsertData.size()>0)
{//当前在做添加数据的保存操作
Map mParamValues;
for(int i=0;i {//循环添加的每条记录
mData=(Map)lstInsertData.get(i);
mParamValues=(Map)lstInsertExternalVals.get(i);
if(mData==null) continue;
System.out.println("第"+(i+1)+"条添加的记录:");
Iterator itKeys=mData.keySet().iterator();
while(itKeys.hasNext())
{
String key=(String)itKeys.next();
String value=(String)mData.get(key);
System.out.print("["+key+"="+value+"]");
}
System.out.println();
System.out.println("此条记录对应的定义的变量值:");
itKeys=mParamValues.keySet().iterator();
while(itKeys.hasNext())
{
String key=(String)itKeys.next();
String value=(String)mParamValues.get(key);
System.out.print("["+key+"="+value+"]");
}
System.out.println();

}
}

        if(lstUpdateData!=null&&lstUpdateData.size()>0)
        {//当前在做修改数据的保存操作
            for(int i=0;i<lstUpdateData.size();i++)
                {
                    mData=(Map)lstUpdateData.get(i);
                    if(mData==null) continue;
                    System.out.println("第"+(i+1)+"条修改的记录:");
                    Iterator itKeys=mData.keySet().iterator();
                    while(itKeys.hasNext())
                    {
                        String key=(String)itKeys.next();
                        String value=(String)mData.get(key);
                        System.out.print("["+key+"="+value+"]");
                    }
                    System.out.println();
                }
        }

        if(lstDeleteData!=null&&lstDeleteData.size()>0)
        {//当前在做删除数据的保存操作
            for(int i=0;i<lstDeleteData.size();i++)
                {
                    mData=(Map)lstDeleteData.get(i);
                    if(mData==null) continue;
                    System.out.println("第"+(i+1)+"条删除的记录:");
                    Iterator itKeys=mData.keySet().iterator();
                    while(itKeys.hasNext())
                    {
                        String key=(String)itKeys.next();
                        String value=(String)mData.get(key);
                        System.out.print("["+key+"="+value+"]");
                    }
                    System.out.println();
                }
        }
        return super.doSave(rrequest,rbean,editbean);
        ]]>
      </saveaction>
 </interceptor>

type="com.wabacus.config.resource.InterceptorRes">


java.util.*


<![CDATA[
String message="";

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题