1、如果是表单提交上传,在controller层中定义多个参数,或者定义一个对象,对象中有参数字段和文件字段
2、如果是ajax上传,你就要看你采用哪个ajax js插件,如果用jquery的ajaxfrom的ajax上传插件,就根据里面给你定义的传参方式即可。
1JSP传值给Servlet
JSP传值给Servlet有几种形式:Form表单传值,url传值,其他方式传值
a、form表单传值:
JSP页面有:<input type="radio" name="staffdepartment" value="1" id="department1" />,将department的id传到Sevlet中,在程序中如下:ServletRequest request;Stringstaffdepartment=requestgetParameter("staffdepartment");可获取jsp传的department,但要获取id还要进行转化:int int_staffdepartment=IntegerparseInt(staffdepartment);
b、url传值
比如这里的 <a>标签的 href属性与 <form>标签的 action属性的值 "JspServletaction=toServlet",在 servlet同样用 requestgetParameter("action")获取;
c、Java代码传值
java片段代码,servlet只能接到 sessionsetAttribute("testSession","Hello session")的内容,而接不到 request的内容。在 servlet里用 requestgetSession()getAttribute("testSession")获取 session内容。
Servlet传值给Jsp
具体实现如下,java代码:
String a= "abccdefg ";requestsetAttribute( "ValueA ",a);
requestgetRequestDispatcher( "网址/jsp页面 ")forward(request,response);
jsp页面:
<%
String s =(String)requestgetAttribute( "ValueA ");
%>
jsp页面就可以取出Servlet的值。
不知道你有没有学习JavaBean,如果学习了就好理解:在testjsp页面使用<jsp:useBean>标签调用javabean
在testjsp里使用get()方法就可以得到数据了
//下面是testjsp
<%@ page contentType="text/html;charset=GB2312"%>
<jsp:useBean id="test" class="testTestjavajsp" scope="session"/>
<%
outprintln("用户名:"+testgetUsername());
%>
//下面是Testjavajsp类
package test;
import javasql;
public class Testjavajsp {
String username="";
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
public String getUsername() {
return username;
}
public void setUsername(String username) {
thisusername = username;
}
public Testjavajsp()
{
String sql="select from userinfo where userID=1";
String driver="commysqljdbcDriver";
String url="jdbc:mysql://localhost:3306/qquser";
try {
ClassforName(driver);
conn=DriverManagergetConnection(url,"root","123456");
stmt=conncreateStatement();
rs=stmtexecuteQuery(sql);
while(rsnext())
{
username=rsgetString(1);
}
rsclose();
}catch(Exception e){
Systemoutprintln("连接失败");
}
}
}
希望对你有帮助
其实还有很多种方法可以既然项目设置的是utf-8,编码就全部设置为utf-8啊,jsp页面的也要设置为utf-8编码。
这样试试:
equestsetCharacterEncoding("utf-8");
String strChineseString = requestgetParameter("addr");
Systemoutprintln("strChineseString :"+strChineseString );
strChineseString =new String(strChineseStringgetBytes("iso-8859-1"),"utf-8");
Systemoutprintln("strChineseString :"+strChineseString );jsp传值给另一个jsp页面,主要的方式是将数据放在request对象中,然后在另一个页面拿到这个数据即可,代码如下:
Ajsp :通过post 和get、连接都可以传
post和get 就不提了。
连接的:
<a herf='Bjspname=<%=name%>'>传递到B页面</a>
Bjsp :
B页面通过如下代码接收
<%
String name=requestgetParameter("name");
outprintln("接收到:"+name);
%>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)