① 為什麼jsp可以讀取java中的數據
因為jsp本質上就是servlet,提供了訪問request、session、context三大域對象,用來對java(姑且認為你說的是controller層)與jsp(頁面)之間的數據交互。
reqest:
在jsp頁面中,在java腳本片段中可以用request.getattribute("xx")獲取servlet轉發時候傳過來的參數。因為轉發屬於同一次請求。一次請求的參數會存在request域中。你可以這樣去取。
如果是重復定向,你可以拼接參數,jsp頁面用request.getparameter()可以去取。
session:
只要你在java程序中聲明,在jsp頁面中,java腳本片段中可以用request.getsession("xx"),就可以獲取取。無論是轉發還是重定向。因為session的作用在本次會話
context
即applicationContext作用域,作用於整個網站。一般不用
你使用el表達式${xx},其實就是request.getattribute("xx")或request.getsession("xx"),只是jsp給你封裝了。不用你這么麻煩的去寫
② jsp中的java代碼傳參
可以!
你就是想靈活一點的從jsp頁面獲取後台java代碼中設置的參數值,這個完全可以啊!
var usernameValue = '<%=request.getSession().getAttribute(str)%>';
這段相當於函數調用嘛,然後返回值賦值給變數,str 其實就是傳過去的參數,和直接寫成「username」 沒有區別,不過不要加「」號,不然結果就是「」username「」 了當然取不到值咯。
--希望對你有幫助!!
③ jsp調用java並傳參數
如果不用Servlet或者諸如Struts這類框架來做後台處理的話,你完全可以在JSP文件里直接寫Java代碼來處理。<%String pp=request.getParameter("pp"); //表單提交上來的參數//直接調用smgp的API%>
④ jsp頁面java代碼如何獲取本頁面的參數
假設這JSP叫index.jsp,自己提交給自己.
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<body>
<formid="test"method="post"action="index.jsp">
<selectid="code"name="plugin">
<optionvalue="1cn">cn</option>
<optionvalue="2us">us</option>
<optionvalue="3en">en</option>
</select>
<inputtype="submit"value="提交">
<br>
<%out.println(request.getParameter("plugin"));%>
</form>
</body>
</html>
請採納.
⑤ Java怎麼向JSP傳遞多個參數
可以把參數存到 會話中,看情況存到那裡,比如request.setAttribute("msg",「你好」) ;
只要存到九大隱式對象里都可以。
JSP 通過 九大隱式對象取數據就是了 如: ${requestScope.msg} 取出就是: 你好
九大隱式對象(page,request,response,out,session,application,config,pageContext,exception)
⑥ java中jsp怎麼獲取地址欄上的參數
jsp獲取地址欄上的參數有如下幾種辦法:
1、使用jsp小腳本實現
<%
String value=request.getParameter("key");
%>
即可取出地址欄傳遞的key所代表的值
2、使用EL表達式實現
<h2>${param.key}</h2>
也可以取出地址欄傳遞的key所代表的值
3、使用javascript實現
<script type="text/javascript">
function GetQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
var myurl=GetQueryString("key");
</script>
也可以取出地址欄傳遞的key所代表的值
4、jQuery擴展方法實現
jquery擴展了一個getUrlParam()方法
<script type="text/javascript" src="js/jquery.1.8.3.min.js"></script>
<script type="text/javascript">
$(function($){
$.getUrlParam = function(name)
{
var reg = new RegExp("(^|&)"+name +"=([^&]*)(&|$)");
var r= window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
});
$.getUrlParam('key');也可以取出地址欄傳遞的key所代表的值
</script>
⑦ jsp怎麼獲取java參數
jsp在頁面上獲取java參數總共有以下方法:
(1)直接在URL請求後添加
如:<a href="thexuan.jsp?action=transparams&detail=directe")直接傳遞參數, 特別的在使用response.sendRedirect做頁面轉向的時候,也可以用如下代碼: response.sendRedirect("thexuan.jsp?action=transparams&detail=directe") ,可用request.getParameter(name)取得參數
(2)jsp:param
它可以實現主頁面向包含頁面傳遞參數,如下:
<jsp:include page="Relative URL">
<jsp:param name="param name" value="paramvalue" />
</jsp:include>
還可以實現在使用jsp:forward動作做頁面跳轉時傳遞參數,如下:
<jsp:forward page="Relative URL">
<jsp:param name="paramname" value="paramvalue" />
</jsp:forward> 通過這種方式和一般的表單參數一樣的,也可以通過request.getParameter(name)取得參數
(3)設置session和request
通過顯示的把參數放置到session和request中,以達到傳遞參數的目的
session.setAttribute(name,value);
request.setAttribute(name,value)
取參數:value=(value className)session.getAttribute(name);
value=(value className)request.getAttribute(name);
⑧ java頁面怎麼取得jsp頁面的值
jsp在頁面上獲取java參數總共有以下方法:
(1)直接在URL請求後添加
如:<a href="thexuan.jsp?action=transparams&detail=directe")直接傳遞參數, 特別的在使用response.sendRedirect做頁面轉向的時候,也可以用如下代碼: response.sendRedirect("thexuan.jsp?action=transparams&detail=directe") ,可用request.getParameter(name)取得參數
(2)jsp:param
它可以實現主頁面向包含頁面傳遞參數,如下:
還可以實現在使用jsp:forward動作做頁面跳轉時傳遞參數,如下:
通過這種方式和一般的表單參數一樣的,也可以通過request.getParameter(name)取得參數
(3)設置session和request
通過顯示的把參數放置到session和request中,以達到傳遞參數的目的
session.setAttribute(name,value);
request.setAttribute(name,value)
取參數:value=(value className)session.getAttribute(name);
value=(value className)request.getAttribute(name);