一般是在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 / 就行了啊。。