一般是在Action中定義一個成員變數,然後對這個成員變數提供get/set方法,在JSP頁面就可以取到這個變數版的值了。權
1)在Action中定義成員變數
//定義一個成員變數
private String message;
//提供get/set方法
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
2)在JSP頁面中取值
${message} 或者 <s:property value="message"/>
B. jsp頁面嵌入java代碼怎麼寫(jsp頁面中java代碼無效)
如何在jsp裡面寫java代碼%!%是在service方法的外面定義變數和寫入語句的,也就是在servlet中定義變數,而我們知道servlet在被container載入後只生成一個對象而已,然後所有的請求都在service方法裡面被處理。所以如果你在servlet中定義了變數,那麼所有的請求可以共用這一個變數了。
最簡單的應用就是,你要計算有多少人訪問了這一個JSP頁面,那麼就可以把變數i定義在servlet中,然後在JSP文件裡面加一句i++;,這樣就可以統計有多少人訪問了你這個頁面了。
至於%%這個嘛,就是在service方法里啦。
怎麼在JSP中引入JAVA代碼
JSP中,嵌入的JAVA代碼,可以直接引用JAVA的類
%
out.println(newjava.util.Date());
%
~
jsp頁面中javascript嵌套java代碼段關鍵是%p.delpinfo(sfzh);%這里。
這句在頁面載入成功就已經執行了,不受js代碼段控制的。(java代碼優先執行,並且輸出動態內容,生成靜態頁面後,js才開始執行)
如果要讓js控制操作邏輯,去判斷是否發送新的請求,可以用ajax、或用js去操作一個form提交,或者用js去操作一個iframe去進行指定url跳轉。
總的來說就是用js去發送http請求。
1、寫一個新的action或xxx.jsp,專門執行p.delpinfo(sfzh);
2、用ajax,或form,或隱藏的iframe去請求這個xxx.jsp
jstl標簽中怎麼嵌入Java代碼要怎麼嵌入java代碼呢?
jsp頁面中嵌入java代碼叫做小腳本,如:
%
String
str
=
"java";
out.print(str);
%
但是jstl本來就是用來取代小腳本的,因此沒有必要再jstl中嵌入java代碼
如果要在jstl中使用java代碼的值的話,可以通過表達式%=str
%或者jstl的core標簽,如:c:set
var="set"
value="%=str
%"
/等等
具體用法有些不太記得了,好長時間沒有用過jstl了。
在jsp頁面如何輸出java代碼怎麼寫jsp的組成:jsp=html+java腳本+jsp標簽(指令)
jsp中無需創建即可使用的對象一共有9個,被稱之為9大內置對象。例如:request對象、out對象
3種java腳本:
%...%:java代碼片段
%=...%:java表達式
%!...%:聲明,用來創建類的成員變數和成員方法
jsp其實是一種特殊的Servlet,在html中通過java腳本就可以嵌入java代碼,輸出一些內容。
jsp頁面怎麼使用java方法在jsp中使用java類舉例如下:
1.新建一個項目,在src文件夾下添加一個包:如:tianaoweb.com;
2.再在包中添加一個類:如
packagecom;
publicclasstest{
publicStringsd(){
return"sd";
}
}
3.在默認的首頁index.jsp(當然也可以自己新建一個jsp文件)的開頭引入
%@pageimport="tianaoweb.com.*"%
4.在body/body中添加相應的java代碼片:
如:
%
Stringstr;
testte=newtest();
%
%=te.sd()%
C. JSP裡面怎麼調用java類裡面的方法。
我勒個去。。。這個是js的方法。都是放在jsp裡面。。
function save()
{
String userName = document.getElementById("userName").value;
String telNumber= document.getElementById("telNumber").value;
//調用java類方法裡面的保存函數專來保屬存兩個String
return true;
}
<body>
<input type="text" id="userName" />
<input type="text" id="telNumber" />
<input type="button" value="提交" onclick="save()" />
</body>
D. 在JSp頁面文件中嵌入java語言要素的幾種方式
標簽<%@…%>用來在頁面中嵌入JSP指令,JSP指令包括page、include和taglib。page指令是針對當前頁面的指令,而include指令用來指定如何包含另外一個文件,taglib指令用來定義和訪問自定義標記庫。這三種指令通常都有默認值,這樣開發人員就不必顯式的使用每一個指令予以確認;
標簽<%…%>用來在頁面中使用java小腳本,這對標簽內部的代碼必須符合java語法規范,其中代碼所依賴的類和包必須在頁面中使用<%@ page import="…"%>聲明導入;舉例如下:<% String port="8080"; %>
標簽<%=…%>用來在頁面中輸出java腳本變數的值,標簽內的代碼必須是一個存在的且不為空的變數,或者一個有效的表達式(JSP引擎在計算該表達式或變數值時如果發現異常,如空指針等,則整個頁面就會崩潰,這也是眾人推崇以EL表達式替代java腳本的主要原因之一:不安全);舉例如下:Port:<%=port %>
其實在JSP頁面中還可以嵌入EL表達式、JSTL表達式,但是個人認為已不屬於「java語言要素」范疇,而屬於「JSP」范疇了,如果樓主感興趣,可以追問。
E. js怎麼引用JSP里定義的JAVA變數
可以將JAVA變數在JSP頭部定義成全局變數。
然後可以分別在JS和JSP里調用。
因為可以將JS和JSP理解為兩個相互獨立的塊。這2個塊裡面的變數都是局部變數。而局部變數是不共享的。
首先很基礎的:JS可以直接引用JAVA變數,但JAVA不能引用JS變數。因為頁面是先編譯JAVA再編譯JS,代碼如下:
String tbname="bd_bank";
out.write("<SCRIPT language="+"'"+"JavaScript"+"'"+">var tbname="+"'"+tbname+"'"+";</SCRIPT>");
%>
//下面的javascipt可以直接調用變數tbname
<script language="javascript">
alert(tbname);
</script>
//在js文件中的javascipt一樣可以直接使用變數 tbname 啊。
<script language="JavaScript" src="../comm/dbgrid.js"></script>
反正兩個原則記好:
1、jsp代碼中可以構造javascipt語句,當然包括定義備用的javascipt的變數
2、理論上在整個頁面中,任何一個地方定義的javascript代碼都可以被正確使用。javascipt代碼對位置不敏感。
F. 怎麼在jsp頁面中調用javabean啊
你看看這句<jsp: useBean id="login" scope="session" class="LoginData"/> 中的class屬性的LoginData的路徑,你是不是放在包里了,這塊要把你java類中package後面的路徑加上。
這句:<jsp: setProperty name="login" property="password"/> 沒把頁面上的密碼傳到javabean里,改成:<jsp: setProperty name="login" property="password" param="pagePassword"/>
其中:pagePassword是你密碼文本框的id。
這里給你轉換成java代碼你就明白了:
<jsp: useBean id="login" scope="session" class="LoginData"/>
--〉 LoginData login = new LoginData();
<jsp: setProperty name="login" property="loginName" param="tmpName"/>
--> login.setLoginName(tmpName);
<jsp: setProperty name="login" property="password" param="pagePassword"/>
--> login.setPassword(pagePassword);
所以你的LoginData必須這樣:
public class LoginData {
private String loginName;
private String password;
public void setLoginName(String name) {
this.loginName = name;
}
public void setPassword(String password) {
this.password = password;
}
//....其他的任意了,上面是必須有的
}
G. 怎麼在js中取java變數的值,朋友們幫忙說說
function test(){
var g = "${first_Name}";
alert(g);
}
"<%=first_Name%>"; 這種方式只能取道jsp頁面上定義的變數
比如
a.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<%! String a = "aaaaa";%>
<BODY BGCOLOR=cyan>
<FONT Size=1>
<P>這是一個簡單的JSP頁面
<BR>
</FONT>
<%=a %>
${a };
</BODY>
<HTML>
在跳轉到該jsp頁面的servlet中在request中設置了一個a
效果如下:
這是一個簡單的JSP頁面
aaaaa serveta;
原因很簡單:
對於每個jsp,伺服器(比如tomcat)都會將其轉換成java文件(後綴.java的文件),然後將其編譯成class文件
"<%=%>"就是從這個java文件中去取變數值
而"${}"則是從容器中的四個區域去取值(page,request,session,application)
H. 在jsp中想要將java中的某個變數輸出在網頁上面,可採用哪兩種方法
1.存放session中,然後在jsp頁面通過session去取出來。
在伺服器端:
String str = null;
request.getSession().setAttribute(str, "在jsp調用,然後顯示..");
在頁專面端:
<%=request.getSession().getAttbute("str")%>
2.再或則,通過HttpServletRequest request存放屬你要輸出的數據。
在服務端
request.setAttribute(str,"在jsp調用,然後顯示..");
在頁面端
使用el表達式取出來。好像是:${str}通過el表達式可以取你之前在requset中存放的數據。