`
- 浏览:
31690 次
- 性别:
- 来自:
济南
-
jspx 一个来自于埃及的java web快速开发框架。谈谈使用jspx总结一些东西,关于jspx网上资料很少,希望大家分享下。
JSPX提供DataTable是一个集查询、分页、显示、导出excel等为一身的标签,使用起来非常简单,但也有它不足的地方。
Jspx页面,可以对应同名的java。
在td中插入jspx标签
<datatable id="datatable" datasource="java:/comp/env/jdbc/crisk"
table="table1"
sql="select code,name,test1 from table1 "
showrowindex="false" pagesize="10" showFooter="true"
showNewCommand="false" autobind="true"
headerstyle="text-align:center;" headerclass="title"
tdstyle="text-align:center; " rowstyle="text-align:center;"
tdclass="odd" rowclass="even" cellspacing="0" border="1"
width="100%" align="left" class="sortable"
selectedrowstyle="background-color:#59eeee"
footerstyle="background-color: #ECE9D8; color:#000000;font-weight:600;text-align:center;"
dateformat="yyyy-MM-dd" excel="true" noresults="无此信息" noresultsclass="ie" var="company_debt_info">
其中:
属性autobind:表示刚进入页面,是否运行sql,自动加载查询结果;
属性excel="true":表示显示导出查询结果excel,若是不想导出,不用添加excel="true" ;
table="table1",可以在后面外连接查询,条件查询中用到,类似:“${table1.code}”,取出查询结果值。
取出显示列:
一:取出sql中已有的列名test1对应的结果:
<datacolumn text="测试1" fieldname="test1" datatype="string" width="4%" />
二:取出sql没有相应的列,需要分散查询,传过去已查到的字段“code”的值,
<datacolumn text="测试2" fieldname="code" width="7%" type="lookup" lookup="fk1" datatype="string" />
分散查询对应:其中value显示要出来的字段名,key用于对照,用分查询的“code”对应传过来的“code”,实现一对一,不需要在sql中对应,自动匹配。
<datalookup name="fk1" key="code" value="name"
sql="select name,code from table2 " />
<exportToExcel filename="selectedDials.xls"
rowstoexport="selected" command="导出选定行到excel" />
jspx中使用html原有的<a>标签:
<datacolumn text="名称" fieldname="name" datatype="string" width="7%" >
<itemTemplate>
<a href="tomodify.do?company_code=${table1.code}" target="_self">${table1.name }</a>
</itemTemplate>
table属性:是你需要查询的数据库表名;
sql属性:查询的SQL语句;
showrowindex属性:表示需要显示序号;
<dataparam>元素用来定义传入sql语句的参数,name属性用于指定传入SQL的变量名称,此处为MYID,而control指定变量从哪个属性取值,此例中为userId,表明是从userId中取得值,并赋值给MYID,expression为定义的表达式.
<datapk>元素定义主键,name为要作为主键的属性,sequence为Oralce中table所对应的sequence的名称。
<datacolumn>元素用于定义显示的数据列,其中text属性表示显示的列名称,fieldname表示从哪个属性中取值,type表示该列的数据类型,required表示该列是必须的。
<datacolumnCommand>元素表示定义列操作,JSPX默认提供了几个列操作,如select表示选择该条记录,并会返回该条记录的PK;check类型会显示为checkbox,并可对所有记录进行选择;edit类型表示对记录进行修改,JSPX对自动提供对记录的更新操作;remove类型表示删除记录;
<footer>用于指定页脚内容。
Java对应:
用于接收页面控件值,其中声明变量名和控件id值对应。
@JspxWebControl
private DataTable datatable;
@JspxWebControl
private Select fromDate;
@JspxWebControl
private Input endDate;
用endDate.getValue() :表示标签id为endDate传来的值
页面button触发事件:
<input type="button" id="butquery" onclick=""
onserverclick="execquery1" value="查询" />
后台java:
execquery1(WebControl sender, String args)
protected void pageLoaded(){}用于初始化界面之前赋值。
Jspx页面编写类似Jsp页面table表单:
例子:
方法一:在前台使用sql查询,使用标签<sqlrepeater>
<table>
<tr>
<th>名称</th>
<th>类型</th>
<th>日期</th>
<th>排名</th>
</tr>
<!-- ${this.sql }由后台java声明变量,pageLoaded()中赋值,用setSql()方法传值,f1后面的字段为sql查询字段名-->
标签<sqlrepeater>是循环标签,有sql编写。可以嵌套<sqlrepeater>,形成子循环。
<sqlrepeater id="func1"
sql="${this.sql }"
itemlist="func_level1" var="f1">
<tr align="center">
<td>${f1.name } </td>
<td>${f1.type } </td>
<td>${f1.date } </td>
<td>${f1.slist} </td>
</tr>
</sqlrepeater>
</table>
方法二:在后台使用sql查询,pageLoaded()查出
后台java:
@JspxBean(scope = JspxBean.REQUEST, name = "table1")
BEANtable1 table1= null;
protected void pageLoaded() {
table1 = (new DAOtable1()).getByPK(code);
}
前台jspx引用:
<td align="center">${table1.name} </td>
循环问题:<sqlrepeater>标签可以与标签table中<tr>、<td>配合使用
例子:页面
<sqlrepeater id="func1"
sql="select name,id from table3 "
itemlist="func_level1" var="f1">
<tr>
<th align="left" bgcolor="#DDDDDD" bordercolor="#BADDFA" >
${f1.name}
</th>
<sqlrepeater id="func2" sql="select p.name,p.id,p.cont from processdef p
where p.type='${this.type }' "
itemlist="func_level2" var="f2">
<tr>
<td align="left" bgcolor="#FFFFFF" bordercolor="#BADDFA" title="${f2.cont}">
${f2.name}
</td>
<sqlrepeater id="func3"
sql="select ivalue from table3 " itemlist="func_level3" var="f3">
<td align="right" bgcolor="#FFFFFF" bordercolor="#BADDFA" width="240">
${f3.ivalue }
</td>
</sqlrepeater>
</tr>
</sqlrepeater>
</tr>
</sqlrepeater>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
使用jspx框架,开发者能够更有效地管理和组织Web应用程序的代码,同时得益于其提供的预定义组件,可以提高开发效率并降低维护成本。对于初学者来说,jspx提供了平滑的学习曲线,是进入Java Web开发的一个良好起点。
- 创建一个JSPX页面,例如命名为`TestDemoPage1.jspx`。 - 将DataControls中的VO(例如`DeptVO1`)拖拽到页面中,创建ADF Table。 - 为ADF Table配置列,使其能够展示表中的数据。 - 添加按钮并关联VO中的方法,...
这套框架不但提供了技术实现,同时也提供了一套开发规范,让系统的结构分层,代码规范,文档一体化的实现。 ##仓库地址 <groupId>com.github.jspxnet</groupId> <artifactId>jspx-framework <ve
ADF是Oracle提供的一套全面的Java EE框架,用于简化企业级应用的开发,它包括一系列组件、服务和工具,帮助开发者快速构建数据驱动的应用。 在"Oracle JDeveloper ADF开发例子"这个项目中,我们看到的是一个基于...
**JSP(Java Server Pages)基础语法** JSP是Java技术在Web开发中的一个重要组成部分,它是一种动态网页...随着经验的增长,可以进一步探索MVC框架(如Spring MVC)和现代Web开发的最佳实践,提升开发效率和代码质量。
1. 在ADF的Facelets页面(.jspx)中,使用`<af:resource>`标签来引入资源包: ```xml ``` 2. 在ADF组件中,使用`<af:messages>`标签显示错误和警告信息,这些信息将自动从资源包中获取。 3. 对于自定义的标签...
**Taglib Directive**则用于指定自定义标签库的URI,这些标签可以在页面中使用。 JSP的执行流程大致如下:当客户端请求一个JSP页面时,服务器首先将JSP转换成一个Java源文件(Servlet),然后编译这个源文件为字节...
4. **转换为Dialog**:若要将TaskFlow作为Dialog使用,我们需要将某个页面(如`view1`)转换为jspx并设置为Dialog的rootView。这样,当调用TaskFlow时,它将以Dialog的形式呈现。 5. **配置TaskFlow Call**:在主...
随着对JSP的深入理解和实践,开发者通常会转向使用MVC框架,如Spring MVC,来进一步提高开发效率和代码可维护性。通过阅读"JSP语法参考书"和使用相关工具,可以帮助初学者快速掌握JSP技术,从而更好地应对实际项目...
1. 使用预编译的JSP页面(JSP 2.0引入的_jspx_文件),以减少代码注入的风险。 2. 遵循OWASP(Open Web Application Security Project)的指导原则,如使用预编译的SQL语句或存储过程来防止SQL注入。 3. 实施内容...
解压缩jeecms-3.0.2-final-src,在src文件夹下会看到有三个压缩文件,如果只想进行普通的二次开发,可以只导入cms这个源码,删除jeecms-cms-identity-3.0.2-final.jar即可,如果想进行深入的二次开发,需要导入...
总结来说,JSP 2.0通过引入EL、简化标签API、增强XML语法以及对非Java程序员的友好设计,极大地提升了开发者的体验和效率,使得动态网页开发变得更加简单和高效。这些特性不仅对于有经验的Java开发者来说是一次升级...
Oracle ADF(Application Development Framework)是Oracle公司提供的一款企业级Java EE开发框架,它简化了构建富客户端和Web应用程序的过程。Oracle ADF的核心是模型-视图-控制器(MVC)设计模式,允许开发者高效地...
总的来说,"SCR-JSF:JSF + Web 教学"是一个关于使用JavaServer Faces开发Web应用的教程,涵盖了从基础概念到实际开发的方方面面,旨在帮助学习者掌握JSF框架并运用到实际项目中。通过深入学习和实践,你可以提升自己...