一般是在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"/>
2. jsp不用表單怎麼向servlet傳值
1.直接往input中讀取(form 的action用該servlet,servlet用request.getAttribute獲得值)
jsp:
<input type="text" name="title" >
servlet:
String title=request.getAttribute("title");
2.帶hidden的input
jsp:
<input type="hidden" name="title" value"title_value">
servlet:
String title= request.getAttribute("title");
3. jsp與servlet如何互相傳值
1、利用ServletContext這個web全局上下文來共享數據
servlet中getServletContext()可以獲得一個ServletContext對象,利用這個對象的getAttribute()/setAttribute()方法可以在整個WEB應該里共享數據,可以實現servlet和jsp之間的數據互傳
比如:
在servlet中
1
getServletContext.setAttribute("title", "hello world");
在servlet上下文中以「hello」為鍵,保存了「hello world」這一個字元串,如果要在jsp中調用,則用如下jsp腳本
1
<%=application.getAttribute("hello")%>
2、利用session在同一個會話共享數據
利用HttpSession共享同一個會話的數據。這也要用到session的getAttribute()/setAttribute()方法,和ServletContext()的使用差不多的。
3、利用request共享一次請求的數據
一次請求當中,可以利用request的getAttribute()/setAttribute()方法在servlet和jsp頁面間共享數據。
4. jsp 向servlet中傳值中文怎麼有亂碼,我用的是form表單method="post"
需要轉碼來解決:
轉碼可以在頁面中或是sevlet以及過濾都可以解決的,下面以頁面和servlet為例:
方法一:設置
request
和
response
的編碼
[
頁面編碼必須為
u8
]
request.setCharacterEncoding("UTF-8");//傳值編碼
response.setContentType("text/html;charset=UTF-8");//設置傳輸編碼
方法二:
String
str1=傳來的數據。
String
ss=new
String(str1.getBytes("ISO-8859-1"),"utf-8");
//轉碼UTF8
5. 如何從jsp頁面向後台傳值
jsp傳值給servlet的方法:
1、超鏈接傳值:在href='servletAction?id=xxx'
2、form表單提交,當點擊submit時,action="servletAction" method='get/post'
3、利用ajax,url='servletAction',data:xxx參數
(5)jsp向servlet傳遞數據擴展閱讀:
javaScript內置函數
decodeURI() 為加稀的URI入止解碼
decodeURIComponent() 為加稀的URI組件解碼
encodeURIComponent() 將字元串加稀為URI組件
escape(string) 加密一個字元串
eval_r(string) 斷定一個字元串並將其以足本代碼的情勢施行
isFinite(number) 檢測一個值能否為一個有限數字,返回True或False
6. JSP中使用Onclick傳值到Servlet,是怎樣新人——求指教解決辦法
新人——求指教! html head /head body form action= AllServlet method= post input type='button' value='詳 情' onclick='我是要在這里傳值,不要使用 JavaScript 方法'/ input type='button' value='刪 除' onclick='我是要在這里傳值,不要使用 JavaScript 方法'/ /form body /html ------解決方案-------------------------------------------------------- 1。window.location.href = xxx.xx?xx=xx ,算是JavaScript 嗎? 2。另一方式就是有一標簽元素存你要傳的值,再加上 input type='sumbit' 提交你的表單 呵呵,比較愚鈍,其他的方式不知道了 ------解決方案-------------------------------------------------------- 把那個button 改為 input type= submit / 就行了啊。。