现在的位置: 首页 > 综合 > 正文

html ,select ,input ,表达式语言${} ,jsp表达式&lt %= &gt

2013年10月10日 ⁄ 综合 ⁄ 共 8758字 ⁄ 字号 评论关闭

先来说说表达式语言${}

-------------------------------------------------------------------------------------------

 

div - 除(/) mod - 取余(%) eq - 等于(==) ne - 不等于(!=)

lt - 小于(<) gt - 大于(>) le - 小于等于(<=) ge - 大于等于(>=)

and - 逻辑与(&&) or - 逻辑或(||) not - 逻辑非(!) true - 逻辑真

false - 逻辑假 null - 空值 instanceof - empty - 空值测试运算符

② EL内建对象

----------------------------------------------------

隐含对象               类型                   说明

----------------------------------------------------

pageContext          java.util.Map          表示此JSP的PageContext对象

pageScope            java.util.Map          取得Page共享范围的属性名字所对应的值

requestScope         java.util.Map          取得Request共享范围的属性名字所对应的值

sessionScope         java.util.Map          取得session共享范围的属性名字所对应的值

applicationScope     java.util.Map          取得application共享范围的属性名字所对应的值

param                java.util.Map          功能同request.getParameter()方法

paramValue           java.util.Map          功能同request.getParameterValues()方法

header               java.util.Map          功能同request.getHeader()方法

heraderValues        java.util.Map          功能同request.getHeaders()方法

cookie               java.util.Map          功能同request.getCookies()方法

initParam            java.util.Map          功能同application.getInitParameter()方法

----------------------------------------------------------

③ EL运算符

[] .

()

- ! empty

* / %

+ -

< > <= >=

== !=

&&

||

${ A ? B : C }

④ EL中的自定义函数

1. 编写函数定义,函数声明在类中必须是静态的

package elfunction ;

public class functions {

public static String toUpper( String value ) {

return value.toUpperCase() ;

}

}

2. 编写自定义函数的TLD文件,放在<taglib>标签内

<function>

<name>toUpper</name>

<function-class>elfunction.functions</function-class>

<function-signature>

java.lang.String toUpper( java.lang.String )

</function-signature>

<description>A to Upper function.</description>

</function>

3. 在web.xml中引入标签定义文件

<taglib>

<taglib-uri>/WEB-INF/tlds/elfunction.tld</taglib-uri>

<taglib-location>/WEB-INF/tlds/elfunction.tld</taglib-location>

</taglib>

4. 在页面中以自定义标签的形式引入自定义函数

<%@ taglib uri="/WEB-INF/tlds/elfunction.tld" prefix="ELFun"%>

${ ELFun:toUpper( "abcdefg" ) }

 

--------------------------------------------------------------

 

也就是说:  1)表达式语言${}  只能取得EL内建对象中的值(如通过request/session等的setAttribute("orgName")设置的)。

          2)表达式语言${} 不能取得在JSP Scriptlet <% String orgName= request.getAttribute("orgName"); %> 定义的变量的值。而jsp表达式<%=  >却可以,如:

<input type="text" id="a" name="a"  value="<c:out value="${orgName}"/>"/> //取不到值。
<input type="text" id="af" name="af"  value="<%= orgName %>"/>//可以取到值。

          3) 表达式语言${} 和 jsp表达式<%= %>均可在用在js中如:

 表达式语言${} : window.location.href="<%=request.getContextPath()%>/servlet/planArrange?actionType=getMergeItemInfo&orgId=<c:out value="${orgId}"/>&orgName=<c:out value="${orgName}"/>";
 jsp表达式<%= %>就是把<c:out value="${orgId}"/>替换为<%=orgId %>,但这个orgId变量要在jsp中在<%  %>中设置,或用.<c:set value = "this is the first example of c:set" var = "first"></c:set>等。

 

下面给一个例子。

    看点:1) 填写”查询“表单后提交(查询列表和查询表单在一个页面),如何使表单中的input,select 元素的数据不变。表单提交后用 reques.getParameter("orgName")取得select 元素的值,如

<option value="extm"> 全部</option> 是 option 的value的值即 “extm”。

         2)取得选中的checkBox。

         3)循环超链接。<c:out value="${orgName}"/> 作为js函数的参数。

 

---------------------------------------------------------------

首先要在servlet中设置 <c:out value="${value}"/>要用到值,因为<c:out value="${value}"/>无法取得在

<% code %> 中定义的变量的值。

如:在//unitServlet.java 中有语句:

     request.setAttribute("orgId", req.getParameter("orgId"));
     request.setAttribute("materialId", req.getParameter("materialId"));
     request.setAttribute("opTime", req.getParameter("opTime"));

那么在servlet中用

  ServletContext sc = getServletContext();
  sc.getRequestDispatcher(jspFile).forward(req, resp);

跳转到的jsp中 可以用<c:out value="${orgId}"/>就可以取得orgId的值 也可以用

jsp表达式 :<%= request.getAttribute("orgId")>注意request.getAttribute("orgId")后没有分号结尾

 

 

 

  1. <%@ page contentType="text/html; charset=GBK"%>
  2. <%@ page import="java.util.List"%>
  3. <%@ taglib uri="http://displaytag.sf.net" prefix="display"%>
  4. <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
  5. <%
  6.     List pageList = (List)request.getAttribute("pageList");
  7.     //select 的<%=("".equals(applyType))?"selected":""%> 用到。
  8.     String applyType = (String)request.getAttribute("applyType");
  9. %>
  10. <html>
  11. <head>
  12. <title>合并任务书</title>
  13. <link href="<%=request.getContextPath()%>/jsp/images/css.css" rel="stylesheet" type="text/css">
  14. <script type="text/javascript" src="<%=request.getContextPath()%>/jsp/js/calendar.js"></script>
  15. <script language=javascript>
  16. <!--合并计划 获得选中的checkBox-->
  17. function mergeItem()
  18. {
  19.     var   checkName   =   document.getElementsByName("applyIdOfCheckBox"); 
  20.     var   checkValue   =   []; 
  21.     for(var i=0; i <checkName.length; i++) 
  22.     { 
  23.         if(checkName[i].type== "checkbox" && checkName[i].checked) 
  24.         { 
  25.                 checkedFlg = true;
  26.                 checkValue[checkValue.length]   =   checkName[i].value; 
  27.         } 
  28.     } 
  29.     if(checkValue.length <= 0)
  30.     {
  31.         alert("请选择要操作的记录!");
  32.     }
  33.     else
  34.     {  
  35.         window.location.href="<%=request.getContextPath()%>/servlet/materialCheckup?actionType=mergeItem&checkValue="+checkValue+"orgId="+document.all.orgId.value+"orgName="+document.all.orgName.value;
  36.     }
  37. }
  38. <!-- 定义超链接调用的函数-->
  39. function openneirong5(ppfId)
  40.     window.location="<%=request.getContextPath()%>/servlet/materialCheckup?actionType=getPlanArrangeSplitInfo&ppfId="+ppfId+"orgId="+document.all.orgId.value+"orgName="+document.all.orgName.value;
  41. <!-- 重新设置表单的值 -->
  42. function toReset(){
  43.     document.form1.planId.value="";
  44.     document.form1.planTime.value="";
  45. }
  46. </script>
  47. </head>
  48. <body background="<%=request.getContextPath()%>/jsp/images/ri.gif">
  49. <form name="form1" method="post" action="<%=request.getContextPath()%>/servlet/materialCheckup?actionType=getPlanProjectFlow">
  50. <table cellspacing="1" width="100%" bgcolor="#476aac" border="0">
  51.   <tbody>
  52.     <tr>
  53.       <td background="/cnas/jsp/images/sp.jpg" bgcolor="#ffffff" colspan="5" height="22">材料初审  
  54.         <div align="center"></div></td>
  55.     </tr>
  56.     <tr valign="center">
  57.       <td bgcolor="#ffffff" height="22"><div align="center">策划拆分号</div></td>
  58.       <td bgcolor="#ffffff"><div align="left"><input name="planId" value="<c:out value="${planId}"/>"/></div></td>
  59.       <td width="85" bgcolor="#ffffff" height="22"><div align="center">策划时间</div></td>
  60.       <td width="328" bgcolor="#ffffff" height="22"><div align="left">
  61.         <input readonly="readOnly" size="28" name="planTime" value="<c:out value="${planTime}"/>"/>
  62.         <img onclick="document.form1.planTime.value=showCalendar(document.form1.planTime.value)" src="../js/calendar.gif" align="middle" border="0" /> </div></td>
  63.     </tr>
  64.     <tr>
  65. <td width="322" bgcolor="#ffffff" height="22"><div align="left">
  66.         <select id = "applyType" name="applyType">
  67.           <option value=""       <%=("".equals(applyType))?"selected":""%>>全部</option>
  68.           <option value="extbf"  <%=("extbf".equals(applyType))?"selected":""%>>扩业务领域</option>
  69.           <option value="extc"   <%=("extc".equals(applyType))?"selected":""%>>扩业务范围</option>
  70.           <option value="extf"   <%=("extf".equals(applyType))?"selected":""%>>扩领域</option>
  71.           <option value="exts"   <%=("exts".equals(applyType))?"selected":""%>>扩分场所</option>
  72.           <option value="fst"    <%=("fst".equals(applyType))?"selected":""%>>初评</option>
  73.           <option value="oversee"<%=("oversee".equals(applyType))?"selected":""%>>监督</option>
  74.           <option value="sec"    <%=("sec".equals(applyType))?"selected":""%>>复评</option>
  75.         </select>
  76.       </div></td>
  77.       </tr>
  78.       <tr>
  79.       <td bgcolor="#ffffff" colspan="4" height="22"><div align="center">
  80.         <input type="submit" value="查  询" name="Submit" />
  81.         <input type="button" value="重   置" name="reset" onclick="toReset()"/>
  82.       </div></td>
  83.     </tr>
  84.   </tbody>
  85. </table>
  86. <input type="hidden" id="orgId" name="orgId"  value="<c:out value="${orgId}"/>"/>
  87. <input type="hidden" id="orgName" name="orgName"  value="<c:out value="${orgName}"/>"/>
  88. <input type="text" id="a" name="a"  value="<c:out value="${aa}"/>"/>
  89. <input type="text" id="af" name="af"  value="<%= aa %>"/>
  90. </form>
  91. <div align="left">
  92.   <!--<input onclick="mergeItem();" type="button" value="合并计划安排" name="noregis2" />
  93. --></div>
  94. <table id="table1" cellspacing="1" width="100%" border="0">
  95.     <tr>
  96.         <td>
  97.             <display:table name="pageList" id="view" pagesize="10"  class="viewTable"   cellspacing="1px" requestURI="">
  98.                     <display:column  style="width:12%;text-align:center;" class="viewTableTD" sortable="false" title="策划项目号">
  99.                      <a href="#" onclick="openneirong5(<c:out value="${view.ppfId}"/>)"/><c:out value="${view.planId}"/></a>
  100.                     </display:column> 
  101.                     <display:column style="width:15%;height:18px;text-align:center;" class="viewTableTD" sortable="false" property="orgName" title="申请机构"></display:column> 
  102.                     <display:column style="width:15%;text-align:center;" class="viewTableTD" sortable="false" property="projectBrief" title="策划项目信息"></display:column> 
  103.             </display:table>
  104.         </td>
  105.     </tr>
  106. </table>
  107. </body>
  108. </html>

 

 

 

 

 

抱歉!评论已关闭.