锘??xml version="1.0" encoding="utf-8" standalone="yes"?> JSTL璇硶鍙婂弬鏁?br />JSTL鍖呭惈浠ヤ笅鐨勬爣絳?
聽 鍚嶅瓧 綾誨瀷 鎻忚堪 聽 2錛?lt;c:set> 聽 鍚嶅瓧 綾誨瀷 鎻忚堪 聽 3錛?lt;c:remove> 聽 4錛?lt;c:catch> 聽 鏉′歡鏍囩 聽 鍚嶅瓧 綾誨瀷 鎻忚堪 聽 2錛?lt;c:choose> 聽 3錛?lt;c:when> 聽 4錛?lt;c:otherwise> 聽 榪唬鏍囩 聽 璇硶2錛氳凱浠e浐瀹氱殑嬈℃暟. 聽 鍚嶅瓧 綾誨瀷 鎻忚堪 聽 URL鐩稿叧鐨勬爣絳? 聽 璇硶2錛氳祫婧愮殑鍐呭浣跨敤Reader瀵硅薄鍚戝鏆撮湶銆? 聽 2錛?lt;c:redirct> 聽 3錛?lt;c:url> 聽 鍚嶅瓧 綾誨瀷 鎻忚堪 聽 SQL鐩稿叧鐨勬爣絳?<?xml聽version="1.0"?>
<!DOCTYPE聽hibernate-mapping聽PUBLIC聽"-//Hibernate/Hibernate聽Mapping聽DTD聽3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--聽Generated聽2007-3-20聽16:44:34聽by聽Hibernate聽Tools聽3.2.0.beta8聽-->
<hibernate-mapping>
聽聽聽聽<class聽name="com.mip.biz.defect.domain.TypidefdetailVo">
聽聽聽聽聽聽聽聽<id聽name="oid"聽type="java.lang.Long">
聽聽聽聽聽聽聽聽聽聽聽聽<column聽name="OID"聽precision="22"聽scale="0"聽/>
聽聽聽聽聽聽聽聽聽聽聽聽<generator聽class="assigned"聽/>
聽聽聽聽聽聽聽聽</id>
聽聽聽聽聽聽聽聽<property聽name="devtype"聽type="string">
聽聽聽聽聽聽聽聽聽聽聽聽<column聽name="DEVTYPE"聽length="20"聽/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="pwlevel"聽type="string">
聽聽聽聽聽聽聽聽聽聽聽聽<column聽name="PWLEVEL"聽length="20"聽/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="stno"聽type="java.lang.Long">
聽聽聽聽聽聽聽聽聽聽聽聽<column聽name="STNO"聽precision="22"聽scale="0"聽/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="stname"聽type="string">
聽聽聽聽聽聽聽聽聽聽聽聽<column聽name="STNAME"聽length="50"聽/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="factory"聽type="string">
聽聽聽聽聽聽聽聽聽聽聽聽<column聽name="FACTORY"聽length="40"聽/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽
聽聽聽聽聽聽聽聽<property聽name="devstyle"聽type="string">
聽聽聽聽聽聽聽聽聽聽聽聽<column聽name="DEVSTYLE"聽length="40"聽/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="finddate"聽type="java.util.Date">
聽聽聽聽聽聽聽聽聽聽聽聽<column聽name="FINDDATE"聽length="7"聽/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="definfo"聽type="string">
聽聽聽聽聽聽聽聽聽聽聽聽<column聽name="DEFINFO"聽length="200"聽/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="defreason"聽type="string">
聽聽聽聽聽聽聽聽聽聽聽聽<column聽name="DEFREASON"聽length="200"聽/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="measure"聽type="string">
聽聽聽聽聽聽聽聽聽聽聽聽<column聽name="MEASURE"聽length="200"聽/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽聽聽<property聽name="cleardate"聽type="java.util.Date">
聽聽聽聽聽聽聽聽聽聽聽聽<column聽name="CLEARDATE"聽length="7"聽/>
聽聽聽聽聽聽聽聽</property>
聽聽聽聽聽聽
聽聽聽聽</class>
聽聽聽聽
<!--聽鍏稿瀷璁懼緙洪櫡鎶ヨ〃錛堢揣鎬?閲嶅ぇ+涓鑸紝璇︾粏鎯呭喌錛壜?/span>-->
<sql-query聽name="queryTypidefdetailReportQuerySql">
聽聽聽聽<return聽alias="detail"聽class="com.mip.biz.defect.domain.TypidefdetailVo">
聽聽聽聽聽聽聽聽<return-property聽name="oid"聽column="typOID"/>
聽聽聽聽聽聽聽聽<return-property聽name="devtype"聽column="typDEVTYPE"/>
聽聽聽聽聽聽聽聽<return-property聽name="pwlevel"聽column="typPWLEVEL"/>
聽聽聽聽聽聽聽聽<return-property聽name="factory"聽column="typFACTORY"/>
聽聽聽聽聽聽聽聽<return-property聽name="devstyle"聽column="typDEVSTYLE"/>
聽聽聽聽聽聽聽聽<return-property聽name="finddate"聽column="typFINDDATE"/>
聽聽聽聽聽聽聽聽<return-property聽name="definfo"聽column="typDEFINFO"/>
聽聽聽聽聽聽聽聽<return-property聽name="defreason"聽column="typDEFREASON"/>聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽<return-property聽name="cleardate"聽column="typCLEARDATE"/>聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽<return-property聽name="measure"聽column="typMEASURE"/>
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽<return-property聽name="stno"聽column="typSTNO"/>聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽<return-property聽name="stname"聽column="typeSTNAME"/>聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽</return>
聽聽聽聽<![CDATA[
聽聽聽聽SELECT聽
聽聽聽聽聽聽聽聽1聽as聽typSTNO,
聽聽聽聽聽聽聽聽'stname'聽as聽typeSTNAME,
聽聽聽聽聽聽聽聽definfo.taskbillid聽AS聽typOID,
聽聽聽聽聽聽聽聽definfo.devtype聽AS聽typDEVTYPE,
聽聽聽聽聽聽聽聽definfo.powerlevel聽AS聽typPWLEVEL,
聽聽聽聽聽聽聽聽definfo.devfactory聽AS聽typFACTORY,
聽聽聽聽聽聽聽聽definfo.xinghao聽AS聽typDEVSTYLE,
聽聽聽聽聽聽聽聽definfo.findtime聽AS聽typFINDDATE,
聽聽聽聽聽聽聽聽definfo.findcontent聽AS聽typDEFINFO,
聽聽聽聽聽聽聽聽definfo.slidea聽AS聽typDEFREASON,
聽聽聽聽聽聽聽聽definfo.checktime聽AS聽typCLEARDATE,
聽聽聽聽聽聽聽聽definfo.checkresult聽AS聽typMEASURE
聽聽聽聽聽FROM聽DEFECT_DEFECTINFO聽definfo聽
聽聽聽聽聽WHERE聽
聽聽聽聽聽聽聽聽definfo.orgid聽=聽:orgid
聽聽聽聽]]>
</sql-query>聽聽聽聽聽
</hibernate-mapping>
聽聽聽聽public聽List聽queryTypidefdetailsByHibernate(Long聽loginerOrgid,Date聽startTime,聽Date聽endTime)聽
{
聽聽聽聽聽聽聽聽Query聽query聽=聽this.getSession().getNamedQuery("queryTypidefdetailReportQuerySql");
聽聽聽聽聽聽聽聽query.setLong("orgid",聽new聽Long(1));
聽聽聽聽聽聽聽聽List聽result聽=聽query.list();
聽聽聽聽聽聽聽聽return聽result;
聽聽聽聽}
]]>聽聽聽聽//鎵鏈夐夐」闆嗗悎
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽List聽lsDefineOptions聽=聽new聽ArrayList();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽for(int聽j=0;j<lsOptions.size();j++)
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Element聽option聽=聽(Element)聽lsOptions.get(j);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽String聽label聽=聽option.getAttributeValue("label");
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽String聽index聽=聽option.getAttributeValue("index");
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽String聽flowstate聽=聽option.getAttributeValue("flowstate");
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽String聽querySql聽=聽option.getChildText("query-sql");
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//鎿嶄綔欏瑰璞?/span>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽SearchOptionDefine聽defineOption聽=聽new聽SearchOptionDefine();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽defineOption.setLabel(label);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if(StringUtils.isNotBlank(index))
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽defineOption.setIndex(Integer.parseInt(index));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if(StringUtils.isNotBlank(flowstate))
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽defineOption.setFlowstate(Integer.parseInt(flowstate));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽defineOption.setQuerySql(querySql);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Log.debug("querySql:"+querySql);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽lsDefineOptions.add(defineOption);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//鎵鏈夐夐」闆嗗悎鐨勬帓搴?/span>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽java.util.Collections.sort(lsDefineOptions);
package聽com.mip.core.objects;
import聽java.io.Serializable;
/**聽*//**
聽*聽<p>聽
聽*聽涓婚鏌ヨ瀵硅薄
聽*聽</p>
聽*聽@author聽Libin
聽*聽@date聽Mar聽29,聽2007
聽*聽@version聽4.0
聽*
聽*聽@see聽AnotherClass
聽*/
public聽class聽SearchOptionDefine聽implements聽Serializable,Comparable聽
{
聽聽聽聽/**聽*//**
聽聽聽聽聽*聽
聽聽聽聽聽*/
聽聽聽聽private聽static聽final聽long聽serialVersionUID聽=聽3256440313546683697L;
聽聽聽聽/**聽*//**聽A聽int聽variable聽鎵鏈夌姸鎬佹爣蹇?/span>*/
聽聽聽聽public聽static聽final聽int聽ALL_STATE=999;
聽聽聽聽
聽聽聽聽/**聽*//**
聽聽聽聽聽*聽Constructs聽a聽SearchDefine
聽聽聽聽聽*/
聽聽聽聽public聽SearchOptionDefine()
{
聽聽聽聽聽聽聽聽index=0;
聽聽聽聽聽聽聽聽flowstate=ALL_STATE;
聽聽聽聽}
聽聽聽聽
聽聽聽聽/**聽*//**
聽聽聽聽聽*聽涓婚鏌ヨ鐨勬瘡涓欏瑰畾涔?
聽聽聽聽*聽聽聽聽label:瀵瑰簲涓嬫媺妗嗘樉紺虹殑涓枃鍚嶇О
聽聽聽聽*聽聽聽聽index:鎺掑簭搴忓彿
聽聽聽聽*聽聽聽聽flowstate:瀵瑰簲嫻佺▼鐘舵?緇撳悎嫻佺▼鐘舵佹潵紜畾鏄惁鏄劇ず褰撳墠閫夐」
聽聽聽聽*聽聽聽聽query_sql:鍘熺敓SQL璇彞,涓婚鏌ヨ鐨勬潯浠?br />
聽聽聽聽*/聽聽聽聽
聽聽聽聽private聽String聽label;
聽聽聽聽private聽Integer聽index;
聽聽聽聽private聽Integer聽flowstate;
聽聽聽聽private聽String聽querySql;
聽聽聽聽
聽聽聽聽public聽Integer聽getFlowstate()聽
{
聽聽聽聽聽聽聽聽return聽flowstate;
聽聽聽聽}
聽聽聽聽public聽void聽setFlowstate(Integer聽flowstate)聽
{
聽聽聽聽聽聽聽聽this.flowstate聽=聽flowstate;
聽聽聽聽}
聽聽聽聽public聽Integer聽getIndex()聽
{
聽聽聽聽聽聽聽聽return聽index;
聽聽聽聽}
聽聽聽聽public聽void聽setIndex(Integer聽index)聽
{
聽聽聽聽聽聽聽聽this.index聽=聽index;
聽聽聽聽}
聽聽聽聽public聽String聽getLabel()聽
{
聽聽聽聽聽聽聽聽return聽label;
聽聽聽聽}
聽聽聽聽public聽void聽setLabel(String聽label)聽
{
聽聽聽聽聽聽聽聽this.label聽=聽label;
聽聽聽聽}
聽聽聽聽public聽String聽getQuerySql()聽
{
聽聽聽聽聽聽聽聽return聽querySql;
聽聽聽聽}
聽聽聽聽public聽void聽setQuerySql(String聽query_sql)聽
{
聽聽聽聽聽聽聽聽this.querySql聽=聽query_sql;
聽聽聽聽}
聽聽聽聽
聽聽聽聽public聽int聽compareTo(Integer聽arg0)聽
{
聽聽聽聽聽聽聽聽return聽index.compareTo(arg0);
聽聽聽聽}
聽聽聽聽
聽聽聽聽public聽int聽compareTo(Object聽obj)聽
{
聽聽聽聽聽聽聽聽//聽TODO聽Auto-generated聽method聽stub
聽聽聽聽聽聽聽聽return聽(this.getIndex()聽-聽((SearchOptionDefine)obj).getIndex());
聽聽聽聽}
聽聽聽聽
聽聽聽聽
聽聽聽聽
}
]]>
]]>
甯哥敤鐨勬爣絳撅細濡?lt;c:out>銆?lt;c:remove>銆?lt;c:catch>銆?lt;c:set>絳?br />鏉′歡鏍囩錛氬<c:if><c:when>銆?lt;c:choose>銆?lt;c:otherwise>絳?br />URL鏍囩錛氬<c:import>銆?lt;c:redirect>鍜?lt;c:url>絳?br />XML鏍囩錛氬<xml:out>絳?br />鍥介檯鍖栬緭鍑烘爣絳撅細濡?lt;fmt:timeZone>絳?br />SQL鏍囩錛氬<sql:query>銆?lt;sql:update>銆?lt;sql:transaction>絳?/p>
涓鑸敤閫旂殑鏍囩:
1錛?lt;c:out>
娌℃湁Body鏃剁殑璇硶
<c:out value=鈥漹alue鈥?[escapeXml=鈥漿true|false}鈥漖 [default=鈥漝efaultValue鈥漖/>
鏈塀ody鏃剁殑璇硶
<c:out value=鈥漹alue鈥?[escapeXml=鈥漿true|false}鈥漖>
榪欓噷鏄疊ody閮ㄥ垎
</c:out>
value Object 灝嗚杈撳嚭鐨勮〃杈懼紡
escapeXml boolean 紜畾浠ヤ笅瀛楃:<,>,&,鈥?鈥濆湪瀛楃涓蹭腑鏄惁琚櫎鏁幫紝榛樿涓簍rue
default Object 濡傛灉vaule璁$畻鍚庣殑緇撴灉鏄痭ull錛岄偅涔堣緭鍑鴻繖涓粯璁ゅ?
榪欎釜鏍囩鐢ㄤ簬鍦ㄦ煇涓寖鍥?page銆乺equest銆乻ession銆乤pplication絳?涓嬌鐢ㄦ煇涓悕瀛楄瀹氱壒瀹氱殑鍊鹼紝鎴栬呰瀹氭煇涓凡緇忓瓨鍦ㄧ殑javabean瀵硅薄鐨勫睘鎬с備粬綾諱技浜?lt;%request.setAttrbute(鈥渘ame鈥?鈥漹alue鈥?;%>
璇硶1錛氫嬌鐢╲alue灞炴ц瀹氫竴涓壒瀹氳寖鍥翠腑鐨勫睘鎬с?
<c:set value=鈥漹alue鈥?var=鈥漹arName鈥?[scope=鈥漿page|request|session|application}鈥漖/>
璇硶2錛氫嬌鐢╲alue灞炴ц瀹氫竴涓壒瀹氳寖鍥翠腑鐨勫睘鎬э紝騫跺甫鏈変竴涓狟ody銆?
<c:set var=鈥漹arName鈥?[scope=鈥漿page|request|session|application}鈥漖>
Body閮ㄥ垎
</c:set>
璇硶3錛氳緗煇涓壒瀹氬璞$殑涓涓睘鎬с?
<c:set value=鈥漹alue鈥?target=鈥漷arget鈥?property=鈥漰ropertyName鈥?>
璇硶4錛氳緗煇涓壒瀹氬璞$殑涓涓睘鎬э紝騫跺甫鏈変竴涓狟ody銆?
<c:set target=鈥漷arget鈥?property=鈥漰ropertyName鈥?gt;
Body閮ㄥ垎
</c:set>
value Object 灝嗚璁$畻鐨勮〃鍒板紡銆?
var String 鐢ㄤ簬琛ㄧずvalue 鍊肩殑灞炴э紝濡傛灉瑕佸湪鍏朵粬鏍囩涓嬌鐢紝灝辨槸閫氳繃榪?涓獀ar鎸囧畾鐨勫兼潵榪涜鐨勩傚畠鐩稿綋浜庡湪鏍囩瀹氫箟浜嗕竴涓彉閲忥紝騫朵笖榪欎釜鍙橀噺鍙兘鍦ㄦ爣絳句腑鐨勪竴涓?
scope String var鐨勬湁鏁堣寖鍥達紝鍙互鏄痯age|request|session|application涓殑涓涓?
target String 灝嗚璁劇疆灞炴х殑瀵硅薄錛屽畠蹇呴』鏄痡avabean鎴栧垯java.util.Map瀵硅薄
property Object 寰呰瀹氱殑Target瀵硅薄涓殑灞炴у悕瀛楋紝姣斿鍦╦avabean涓湁涓猲ame灞炴э紝鎻愪緵浜唖etUserId鏂規硶錛岄偅涔堣繖閲屽~userId銆?
<c:remove var=鈥漹arName鈥?[scope=鈥漿page|request|session|application}鈥漖/>
榪欎釜鏍囩鐩稿綋浜庢崟鑾峰湪瀹冮噷杈圭殑鏍囩鎶涘嚭鐨勫紓甯稿璞?
<c:catch [var=鈥漹arName鈥漖> //var鏄紓甯哥殑鍚嶅瓧
鍐呭
</c:catch>
1錛?<c:if>
璇硶1錛氭棤Body鎯呭喌
<c:if test=鈥漷estCondition鈥?var=鈥漹arName鈥?[scope=鈥漰age|request|session|application鈥漖/>
璇硶2錛氭湁Body鐨勬儏鍐?
<c:if test=鈥漷estCondition鈥?var=鈥漹arName鈥?[scope=鈥漰age|request|session|application鈥漖>
Body鍐呭
</c:if>
test Boolean 琛ㄨ揪寮忕殑鏉′歡錛岀浉褰撲簬if()涓殑鏉′歡鍒ゆ柇璇彞銆?
var String 琛ㄧず榪欎釜璇彞鐨勫悕瀛椼?
scope String var榪欎釜鍙橀噺鐨勪綔鐢ㄨ寖鍥淬?
璇硶錛?lt;c:choose>
Body鍐呭(<c:when>鍜?lt;c:otherwise>瀛愭爣絳?
</c:choose>
娉ㄦ剰錛氬畠鐨凚ody鍙兘鐢變互涓嬪厓绱犵粍鎴?
1) 絀烘牸
2) 0鎴栧涓?lt;c:when>瀛愭爣絳撅紝<c:when>蹇呴』鍦?lt;c:otherwise>鏍囩涔嬪墠鍑虹幇.
3) 0涓垨澶氫釜<c:otherwise>瀛愭爣絳俱?
浠h〃鐨勬槸<c:choose>鐨勪竴涓潯浠跺垎鏀?鍙兘鍦?lt;c:choose>涓嬌鐢?
璇硶錛?lt;c:when test=鈥漷estCondition鈥?gt; //test鏄痓oolean綾誨瀷,鐢ㄤ簬鍒ゆ柇鏉′歡鐪熷亣
Body璇彞
</c:when>
浠h〃鐨勬槸<c:choose>涓殑鏈鍚庨夋嫨銆傚繀欏誨湪鏈鍚庡嚭鐜?
<c:otherwise>
鍐呭
</c:otherwise>
1錛?lt;c:forEach>
璇硶1錛氬湪Collection涓凱浠?
<c:forEach[var=鈥漹arName鈥漖 items=鈥漜ollection鈥?[varStatus=鈥漹arStatusName鈥漖
[begin=鈥漛egin鈥漖 [end=鈥漞nd鈥漖 [step=鈥漵tep鈥漖
Body鍐呭
</c:foeEach>
<c:forEach [var=鈥漹arName鈥漖 [varStatus=鈥漹arStatusName鈥漖
[begin=鈥漛egin鈥漖 [end=鈥漞nd鈥漖 [step=鈥漵tep鈥漖
Body鍐呭
</c:foeEach>
var String 榪唬鐨勫弬鏁幫紝瀹冩槸鏍囩鍙傛暟錛屽湪鍏朵粬鏍囩涓氳繃瀹冩潵寮曠敤榪欎釜鏍囩涓殑鍐呭銆?
Items Collection銆丄rrayList銆?瑕佽凱浠g殑items闆嗗悎.
Iterator銆丮ap銆丼tring銆?
Eunmeration絳?
VarStatus String 琛ㄧず榪唬鐨勭姸鎬侊紝鍙互璁塊棶榪唬鑷韓鐨勪俊鎭?
Begin int 琛ㄧず寮濮嬭凱浠g殑浣嶇疆銆?
End int 琛ㄧず緇撴潫榪唬鐨勪綅緗?
Step int 琛ㄧず榪唬縐誨姩鐨勬闀匡紝榛樿涓?銆?
1錛?lt;c:import>
璇硶1錛氳祫婧愮殑鍐呭浣跨敤String瀵硅薄鍚戝鏆撮湶
<c:import url=鈥漸rl鈥?[context=鈥漜ontext鈥漖
[var=鈥漹arName鈥漖 [scope=鈥漿page|request|session|application}鈥漖 [charEncoding=鈥漜harEncoding鈥漖>
鍐呭
</c:import>
<c:import url=鈥漸rl鈥?[context=鈥漜ontext鈥漖
varReader=鈥漹arReaderName鈥?[charEncoding=鈥漜harEncoding鈥漖>
鍐呭
</c:import>
鍚嶅瓧 綾誨瀷 鎻忚堪
url String 寰呭鍏ヨ祫婧愮殑URL錛屽彲浠ユ槸鐩稿璺緞鍜岀粷瀵硅礬寰勶紝騫朵笖鍙互瀵煎叆鍏朵粬涓繪満璧勬簮
context String 褰撲嬌鐢ㄧ浉瀵硅礬寰勮闂閮╟ontext璧勬簮鏃訛紝context鎸囧畾浜嗚繖涓祫婧愮殑鍚嶅瓧銆?
var String 鍙傛暟鐨勫悕瀛椼?
scope String var鍙傛暟鐨勪綔鐢ㄨ寖鍥淬?
cahrEncoding String 杈撳叆璧勬簮鐨勫瓧絎︾紪鐮併?
varReader String 榪欎釜鍙傛暟鐨勭被鍨嬫槸Reader,鐢ㄤ簬璇誨彇璧勬簮銆?
璇硶1:娌℃湁Body鐨勬儏鍐?
<c:redirect url=鈥漹alue鈥?[context=鈥漜ontext鈥漖/>
璇硶2錛氭湁Body鎯呭喌涓嬶紝鍦˙ody涓寚瀹氭煡璇㈢殑鍙傛暟
<c:redirect url=鈥漹alue鈥?[context=鈥漜ontext鈥漖>
<c:param name=鈥漬ame鈥?value=鈥漹alue鈥?>
</c:redirect>
璇硶1錛氭病鏈塀ody
<c:url value=鈥漹alue鈥?[context=鈥漜ontext鈥漖 [var=鈥漹arName鈥漖 [scope=鈥漿page|request|session+application}鈥漖/>
璇硶2錛氭湁Body
<c:url value=鈥漹alue鈥?[context=鈥漜ontext鈥漖 [var=鈥漹arName鈥漖 [scope=鈥漿page|request|session+application}鈥漖>
<c:param name=鈥漬ame鈥?value=鈥漹alue鈥?>
</c:url>
value String URL鍊?
context String 褰撲嬌鐢ㄧ浉瀵硅礬寰勮闂閮╟ontext璧勬簮鏃訛紝context鎸囧畾浜嗚繖涓祫婧愮殑鍚嶅瓧
var String 鏍囪瘑榪欎釜URL鏍囬噺銆?
Scope String 鍙橀噺浣滅敤鑼冨洿銆?
1錛?lt;sql:setDataSource>
2錛?lt;sql:query>
3錛?lt;sql:update>
4錛?lt;transaction>
5錛?lt;param>
]]>
<P>java.lang.NoSuchMethodError: com.liusoft.dlog4j.beans.UserBean.getHibernateLazyInitializer()Lorg/hibernate/proxy/LazyInitializer;<BR> at com.liusoft.dlog4j.beans.UserBean錛勶紕EnhancerByCGLIB錛勶紕16e4f0b9.getHibernateLazyInitializer(<GENERATED></GENERATED>)</P>
<P>鑰屽紑濮嬩竴鐩村緢姝e父,欏甸潰璁塊棶涔熸病闂, 渚濇鍒ゆ柇鏄痟ibernate鐨勪竴涓棶棰?浠婂ぉ鏃╀笂緗戜笂鎼滅儲浜嗚繖涓棶棰?鍙戠幇榪欐槸Hibernate鐨勪竴涓狟UG, 璇︾粏璇風湅閾炬帴 <A href=">
<P>鎴戞祴璇曠殑鏈嶅姟鍣ㄧ敤鐨勬槸linux緋葷粺, 鎹璇ラ棶棰樺湪windows涓嬩笉浼氬嚭鐜? 鍏徃鏈変釜緗戠珯鐢―LOG鎼緩鐨勫凡緇忚繍琛屼簡寰堜箙娌℃湁浠諱綍闂.</P>
<P>鏍規嵁Hibernate鐨凚UG涓綉鍙嬬殑璇勮璇? 浣跨敤server VM鍙互瑙e喅榪欎釜闂, 鐩墠涓烘榪樻病鏈夋祴璇曟槸鍚﹀睘瀹?</P>
<P>涓嶈繃榪欎釜闂鍦˙UG搴撲腑璁板綍鐨勬槸鍘誨勾騫村簳鎻愬嚭鐨? 榪欎箞闀挎椂闂翠簡榪樻病鏈夊緱鍒癶ibernate鐨勮В鍐? 鍥犱負鏈鏂扮増鏄?.2 RC2鍚屾牱瀛樺湪鐩稿悓鐨勯棶棰? 榪欒鎴戝Hibernate鏈変簺浜涘け鏈? 褰撶劧浜?榪欎篃涓嶅畬鍏ㄦ槸Hibernate鐨勯敊, 闂鍑哄湪浜巆glib榪欎釜搴撲笂.</P>
<DIV class=spacer_20>
<DIV class=comment_content>
<P>璇曢獙琛ㄦ槑澧炲姞-server鍙傛暟紜疄鍙互瑙e喅榪欎釜闂.</P>
<P>浣嗘槸澶у娉ㄦ剰濡傛灉鏄疶omcat鐨勮瘽, 搴旇浠旂粏媯鏌ュ湪catalina.sh鍝噷澧炲姞-server, 閲嶈搗瀹岀敤ps媯鏌ヤ竴涓嬬湅澧炲姞鐨勫弬鏁版槸鍚︽湁鏁?</P>
<P>緇忚繃鍑犲崄涓囨鐨勫帇鍔涙祴璇? 渚濇棫紼沖娉板北.<BR><!----><BR><!----></P>
<DIV class=comment_content>
<P>濡備綍鍔?server鍙傛暟鍛? 鏈綆鍗曠殑鍔炴硶鏄湪catalina.sh鏂囦歡寮濮嬩綅緗鍔犱笅闈竴琛?lt;/P>
<P>JAVA_OPTS="-server -Xms512m -Xmx512m"<BR><!----><BR><!----></P>
<P>hibernate 3.2鐨勪笅涓涓増鏈?lt;/P>
<P>涓嵆灝嗕慨澶嶈繖涓姛鑳?lt;BR><!----><BR><!----></P></DIV></DIV></DIV>
]]>
棣栧厛鍒涘緩浠ヤ笅Oracal瀛樺偍榪囩▼:
CREATE OR REPLACE FUNCTION getUsersByAge(userAge in NUMBER)
聽RETURN
聽SYS_PEFCURSOR AS c_user SYS_REFCURSOR;
BEGIN
聽OPEN c_user FOR
聽 SELECT ID,NAME,AGE FROM TUSER WHERE AGE = userAge;
聽RETURN c_user;
END;
瀵瑰簲鐨剆ql-query瀹氫箟濡備笅:
<sql-query name="getUsersByAge" callable="true">
<return alias="user" class="">
聽 <return-property name="id" column="ID"/>
聽 <return-property name="name" column="NAME"/>
聽 <return-property name="age" column="AGE"/>
</return>
{ ? = call getUsersByAge(?) }
</sql-query>
嫻嬭瘯紼嬪簭濡備笅:
Query query = session.getNamedQuery("getUsersByAge");
query.setInteger(0,18);
List list = query.list();
Iterator it = list.iterator();
while(it.hasNext()){
聽TUser user = (TUser)it.next();
聽System.out.println(user.getName());
}
鎽樿嚜銆婃繁鍏ユ祬鍑篐ibernate銆?/p>