• 大三下半学期“饭店餐饮系统”项目笔记


    一、<s:select/> struts2下拉框标签:

    <s:select/>里有好多属性,其中list这个属性时必须的,因为它是数据源,它的形式可以使List,Map,Set等。这个list我们可以写成死的,也可以动态的获取。

    动态的获取就会出现两种情况。首先,我们知道,struts2表单里各项和Action里的属性是对应的,比如表单里的username,password输入框,在Action里就要有username和password对应的属性,或者干脆在Action里封装成一个user对象。同样的,这时在Action里也要有个List属性。它里面存了要在下拉框里显示的数据。

    第二种情况是,这个数据源是从本页面或者其他页面获得的:

    <%
    	ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
    	ManagerInterface manImpl = (ManagerInterface)ctx.getBean("managerImpl");
    	List<Menu> lst_menu = manImpl.selectMenu();
    	request.setAttribute("lst_menu",lst_menu); //下拉框接收	
    %> 

    表单里:

    <s:select name="m_id" list="#request.lst_menu" listKey="m_id" listValue="m_name" headerKey="0" headerValue="-请选菜名-"/>


    另外关于<s:select/>的问题,请参考最后一段点击打开链接,我也遇到了动态的获取的问题。博主说是因为会出现空格空字符串的原因。解决方法是去空格。

    二、struts2的时间选择器:

    1.导入struts2-dojo-plugin-2.1.6.jar包

    2.在JSP页面添加标签:<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>

    3.在<head></head>中加入<sx:head/>

    4.现在就可以使用时间选择器的标签了

    <sx:datetimepicker name="startDate" displayFormat="yyyy-MM-dd"  required="true" toggleDuration="200" toggleType="explode" />

    关于datetimepicker 标签里详细的属性,用的时候查文档,查资料。

     

     

     

     

    三、hibernate里HQL查询结果的返回类型问题:

    若查询单个字段,则返回类型为List<Object>。若查询多个字段,则返回类型为List<Object[ ]>,obj[0]为字段A,obj[1]为字段B,obj[2]为字段C......

    若查询整个对象,则返回类型为List,默认返回封装好的对象。

    可以参考这篇博文点击打开链接

     

    在Jsp界面,也不能通过new 来新建一个对象,必须统一用applicationCopntext.xml.而且不能新建出来的对象类型若是实现类,则它前面的累心要写被实现的接口或父类。

    注意:在加了jfreeChart的jar包以后,要删除 gnujaxp.jar 包,不然会出现找不到JSP界面问题。

    struts2的标签和html的标签是完全不同,struts2的标签是运行在服务器的,而html的是运行在web前端的。所以:<s:hidden name="m.id" value="<%=intId %>"/>这是错误的。<%= %>是JSP,web前端的东西。

    最终解决这个问题的方法是最笨的

     out.println(" <tr>");
         out.println( "<td><input type="hidden" name="m.id" value=""+intId+""/>"+intId+"</td>");

    struts2标签的高级应用

     .struts2标签截取字符串

    <s:if test="%{xxx.length()<5}">
              <s:property value="#xxx" />
              </s:if>
              <s:else>
              <s:property value="xxx.substring(0,3)+'<br/>'xxx.substring(3,xxx.length())" escape="false"/>
              </s:else>

    2.用于取到后台的时间:

    <s:date name=”#xxx.date” fromate=”YYYY-MM-DD hh:mm”/>

    3.判断是否为空字符串或者为null

    <s:if test="xxx.name==null||''.equals(#xxx.name.trim())">

    4.struts2写隐藏表单(便于JS调用)

    <input id="log" value='<s:property value="log"/>' type="hidden" />

    5.将某个特定resource bundle放入value stack. 然后通过text标签拿到相应message, 而不是仅限于绑定到当前action的bundle.

    <span style="font-family:Arial;"><s:i18n name=<span class="code-quote">"myCustomBundle"</span>> <s:property value=<span class="code-quote">"text('aaa.bbb.ccc')"</span> /> </s:i18n></span>
    <span style="font-family:Arial;">6.导入jsp(servlet或JSP页面)</span>
    <span style="font-family:Arial;"><s:include value=<span class="code-quote">"myJsp.jsp"</span>> <s:param name=<span class="code-quote">"param1"</span> value=<span class="code-quote">"value2"</span> /> <s:param name=<span class="code-quote">"param2"</span> value=<span class="code-quote">"value2"</span> /> </s:include></span>
    <span style="font-family:Arial;">7.用传入的 Comparator对List进行排序</span><pre class="code-java" name="code"><span style="font-family:Arial;"><s:sort id=<span class="code-quote">"mySortedList"</span> comparator=<span class="code-quote">"myComparator"</span> source=<span class="code-quote">"myList"</span> /> <% Iterator sortedIterator = (Iterator) pageContext .getAttribute(<span class="code-quote">"mySortedList"</span>); <span class="code-keyword">for</span> (Iterator i = sortedIterator; i.hasNext(); ) { </span><span style="font-family:Arial;"><span class="code-comment">// <span class="code-keyword">do</span> something with each of the sorted elements </span>} %></span>
    
    
    

     怎么把map遍历,把里面的值取出来

  • 相关阅读:
    多列布局之等分布局
    布局之不定宽与自适应
    多列布局之一列、多列定宽及一列自适应布局
    居中布局之水平垂直布局
    JQuery 学习记录
    初遇GitHub
    关于JS中的函数定义及函数表达式
    类型识别
    页面制作(PS/HTML/CSS)易错点总结
    工欲善其事必先利其器系列之:更换Visual Studio代码风格.
  • 原文地址:https://www.cnblogs.com/wangerxiansheng/p/3836381.html
Copyright © 2020-2023  润新知