工作bug c import引數傳遞問題解析

2022-07-07 06:09:17 字數 1385 閱讀 2241

一、起因:

在專案的工廠中,由於某個介面根據產品種類顯示的產品屬性均不相同,所以決定將介面進行拆分,將每乙個產品寫入乙個jsp介面,分別命名為product0.jsp、product1.jsp,在主介面根據產品id,分別用標籤引入對應的介面即可。

這樣做的好處是:將可變得介面進行解耦之後,如果增加乙個產品,僅需增加乙個介面即可,不會影響到其他介面的元素,便於橫向擴充套件,減少了原來主介面的**量,提公升了維護性。

因為引入介面時候,有乙個引數需要傳遞到被引入介面,卻引發了個小小的疑問,經過查詢,最終解決了,此處記錄解決經歷,以備以後參考。

二、問題描述

jsp介面中引入介面有:

1、c:import>  

2、<%@ include file="inlayingjsp.jsp" %>  

3、 我的工作中,主要使用jstl進行編輯jsp介面,所以選擇第一種。如果網被引入介面傳遞引數,第一反應是如下寫法

<

c:import

url="inlayingjsp.jsp?optype=edit"

>

c:import

>

可是在子介面以$,取值為空。

懷疑是否沒有傳遞過來,查了下標籤的使用方法,將引數的傳遞方法改為

<

c:import

url="inlayingjsp.jsp"

>

<

c:param

name

="optype"

value

="edit"

/>

c:import

>

這是標準的jstl的傳遞引數寫法,但是很不幸,仍然無法取到值。

接著研究了下標籤,發現其他引數,比如var,可是嘗試後還是不行。

<

c:import

url=""

>

<

c:param

name

="wd"

value

="搜尋內容"

/>

c:import

>

試了下標準的jsp寫法,可以正確獲取到值:  

<%

string

optype

=request.getparameter(

"optype");

out.print(optype);

%>

問題鎖定為el表示式有問題,繼續google之,正確寫法為:

$

三、結論

問題其實很小,但也花了快乙個小時,回想起來主要是一直使用jstl進行介面編寫,缺乏對原生jsp的研究,以後要記得改進。

Linux核心工作佇列如何傳引數

linux自從2.6.20之後,工作佇列發生了一些變化,目前從網路上搜尋的資料一般都是介紹老版本的工作佇列,很少見到對新版本的介紹。本文對新老版本都做了簡要概述,並分別提供了簡單的實作案例。工作佇列 work queue 是linux kernel中將工作推後執行的一種機制。這種機制和bh或task...

jsp 引數傳呀傳

我覺得學jsp,第一要學會如何頁面跳轉,第二要學會如何在頁面之間傳遞引數,這兩樣搞定了,問題就不大了 傳遞引數當然也要分2種情況 1.伺服器端跳轉 forward 2.客戶端跳轉 response.sendredirect 在伺服器端跳轉,如果使用標籤 page name value 傳遞引數 js...

java引數傳值 傳引用

1 結論 2 傳值和傳引用區別 例項1 傳值 void method1 7 void method2 13 voidchange1 stringbuffer sb 17 voidchange2 stringbuffer sb 呼叫method1 螢幕列印結果為 helloworld 呼叫method...