2016-02-04 77 views
0

我是JSP相關技術的新手。我面臨着一個奇怪的現象: 作品與scriplet爲什麼我們無法從jsp聲明中訪問請求?

<% 
    String username = request.getParameter("username"); 
    if (username != null && username.length() > 0) { 

    } 
%> 

但隨着聲明請求對象發現無法找到?

enter image description here

我讀,在聲明他們是servlet的一部分是當定義方法或變量,從我們可以訪問請求對象中的小服務程序。那麼爲什麼這種奇怪的行爲?

+0

刪除問號(<%!) –

+0

是的,如果我刪除它,它會變成scriptlet。我想知道爲什麼與聲明請求對象不可訪問。 – Xelian

+0

您是否創建了動態Web項目? (您的jsp文件應位於Web Content文件夾內) –

回答

1

JSP在編譯之前轉換爲一個servlet。

您在jsp scriptlet中編寫的內容進入servlet的service()方法內部,並且jsp聲明內的所有內容都在服務方法之外,但在servlet類內部。

如果條件只能在方法內部使用,而請求是服務方法的參數所以它不能在服務方法外訪問。

相關問題