2017-06-23 8 views
0

JSPのユーザー定義メソッドで暗黙オブジェクトにアクセスしたいとします。ここでJSPのユーザー定義メソッドで暗黙的オブジェクトを渡す方法は?

は私のコードです:

<%@ page import javax.servlet.http.HttpServletRequest %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<% %> 
<%! public void setUserName() 
{ 
String user = (String)request.getAttribute("user"); 

getUserName(user);} 

方法でこれらのオブジェクトにアクセスするにはどのように?

+0

これは答えではありませんが、実際には、JSTLとJSP ELについて学び、MVCアーキテクチャについて学んでください.Javaコードの任意の行を再びJSPに入れることは決してありません。それは19年前に行く道でした。しかし、世界はその後変わってきました。 –

答えて

0

JSP暗黙オブジェクトは、サービスメソッドのローカルであり、JSPページをサーブレットソースコードに変換するときにJSPコンテナによって追加されるため、JSPで定義されたメソッドには使用できません。 JSP宣言コードはサービスメソッドの外にあり、クラスレベルの変数とメソッドを作成するために使用されるため、JSPの暗黙オブジェクトは使用できません。

これはスクリプトレットタグ内に記述されたコードで、_jspService()メソッドに入り、暗黙のオブジェクトに直接アクセスできます。

+0

はい、これらは_jspService()メソッドのローカルであり、私の問題はJSPページのグローバル変数をdelcareできず、その変数の値を設定するために暗黙のオブジェクトにアクセスする必要があることです。だから、私はそれを行うための方法があるかどうかを知りたいですか? –

+0

その場合、public void setUserName(HttpServletRequest request){}を記述し、setUserName(request)のようなスクリプトレットからこのメソッドを呼び出すとどうなりますか? – Piyush

関連する問題