(crm笔记2-2)在前端页面输出后台查询出的表单数据
来源:互联网 发布:mac 系统升级 编辑:程序博客网 时间:2024/05/17 23:31
在前端页面输出后台查询出的表单数据/
1、需求
在后台查询到的数据,需要传到前端的jsp页面中进行显示。
实现效果如下:
2、思路
1)前端点击事件, 触发事件, 调用Action 中的方法, 方法调用业务层的方法进行数据的查询 , 业务层调用Dao 。
2)将后台的Dao层查到的数据传送到Action 的方法中, 通过 HttpServletRequest 将数据传送到jsp, 然后利用 struts2.xml 进行页面跳转到目标显示页面
3)在页面将标签改为 struts2 标签,对需要显示的表单 form 标签调用迭代器循环输出数据。
3、实现代码
1)前端跳转代码:
<a href="${pageContext.request.contextPath}/sys/sysUserGroupAction_list.do" target="rightFrame">部门设置</a></li>
跳转到Action 中的 list()方法 。 调用业务层的代码,无条件查询数据:
public String list(){ List <SysUserGroup>sysUserGroups= sysUserGroupService.findSysUserGroup();//调用业务层查询 request.setAttribute("sysUserGroups", sysUserGroups);//将查询到的数据传入给前端页面 System.out.println("sysUserGroups:"+sysUserGroups); return "list";//返回目标页面 }
2)业务层查询
@Override public List<SysUserGroup> findSysUserGroup() { //组织查询条件 String whereHql=""; List paramsList=new ArrayList<>(); Object[]params=paramsList.toArray(); LinkedHashMap<String , String> orderby=new LinkedHashMap<String ,String>(); orderby.put("o.name", "asc"); return sysUserGroupDao.findObjectByConditionWithNoPage(whereHql, params, orderby); }
3)dao层
@Override public List<T> findObjectByConditionWithNoPage(String whereHql,final Object[] params ,LinkedHashMap<String, String>orderby) { //获取hql语句select前半部分 String hql="select o from "+entityClass.getSimpleName()+" o where 1=1 "; System.out.println("hql:"+hql); if(StringUtils.isNotBlank(hql)){ hql+=whereHql;//加入接收到的where部分 } System.out.println("hql:"+hql); String orderbyStr=buildOrderBy(orderby);//写一个方法组织orderby语句部分 hql+=orderbyStr;//加入接收到的orderby部分 System.out.println("hql "+hql); final String fhql=hql; //调用hibernate中的方法执行query语句 @SuppressWarnings("unchecked") List list=(List<T>)this.getHibernateTemplate().execute(new HibernateCallback(){ @Override public Object doInHibernate(Session session)throws HibernateException, SQLException { Query query=session.createQuery(fhql); if(params!=null&¶ms.length>0){ for(int i=0;i<params.length;i++) query.setParameter(i, params[i]); } return query.list(); } }); return list; } /** * 组织排序条件 * @param orderby * @return */ private String buildOrderBy(LinkedHashMap<String, String> orderby) { StringBuffer buf=new StringBuffer(""); if(orderby!=null&&!orderby.isEmpty()){ buf.append(" order by "); for(Map.Entry<String ,String >em :orderby.entrySet()){ buf.append(em.getKey()+" "+em.getValue()+","); } //去掉最后一个逗号 buf.deleteCharAt(buf.length()-1); } return buf.toString(); }
4)前端迭代输出:
<s:if test="#request.sysUserGroups!=null#"> <s:iterator value="%{#request.sysUserGroups}" var="sysUserGroup"> <tr> <td><input type="checkbox" name="ids" value="12" class="checkbox" onClick="changeCheckCount();"></td> <td><a href="${pageContext.request.contextPath}/sys/sysUserGroupAction_edit.do"><s:property value="%{#sysUserGroup.name}"/></a></td> <td><s:property value="%{#sysUserGroup.principal}"/></td> <td><s:property value="%{#sysUserGroup.incumbent}"/></td> <td><a href="javascript:OpenWin('${pageContext.request.contextPath}/sys/group/usersInGroup.jsp?id=12')">设置</a></td> </tr> </s:iterator> </s:if>
阅读全文
0 0
- (crm笔记2-2)在前端页面输出后台查询出的表单数据
- (crm笔记2-4)表单数据删除后的页面跳转问题
- (crm笔记2-1)struts2层与前端页面的连接
- hibernate查询出的list内容在前端页面无法显示解决方案
- loushang5关于DataSet通过后台查询出的数据如何映射到前台JSP页面的下拉列表中
- 后台的一个值怎么数据绑定显示在前端页面
- 1,Tomcat在提交表单时后台取不到值的问题,2,springMVC跳转页面地址错误问题
- 前端与后台之间的数据传递(2)
- 前端与后台之间的数据传递(3-2)
- 在Action中查询出SQL SERVER表的数据,返回一个list。怎么在JSP页面中使用Struts标签,显示出表中的内容?(转)
- 前端页面表单提交多个name相同的input框,后台接收方法
- 利用ajax提交表单,实现数据前端后台数据交互的完整流程演示
- Java后台实时输出数据到页面
- Java后台实时输出数据到页面
- 表单提交数据量大于2m,java 后台接受不到表单传递过来的数据
- 在Oracle里,查询出有'的数据
- 前端调用后台的数据
- 如何在MVCsheet表单页面的后台取到页面自定义字段的值?
- 剑指Offer------栈的压入、弹出序列
- Babysitting the Learning Process
- java web开发处理中文乱码最佳实践
- 解释程序与解释程序的缺点,图解——解释程序与编译程序的区别
- C#控制台基础 VS2017中为控制台程序设置启动参数(string[] args)
- (crm笔记2-2)在前端页面输出后台查询出的表单数据
- 如何描述设计模式
- 如何在csdn博客中粘贴代码和文本
- STM32 HAL库、标准外设库、LL库(STM32 Embedded Software)
- 图像质量评价之PSNR 和SSIM(附Matlab实现代码)
- JSP标签
- python3 中多继承的顺序问题
- python基础学习笔记(七)
- Python open函数用法