jsp页面传参,在action中得不到想要的参数。求高手解惑。

jsp页面传参,在action中得不到想要的参数。求高手解惑。,第1张

你的url是:'deletedomethod=delete&id=${efk}' 根本就没有'fk'这个参数

而你取参数的时候: var fk=documentgetElementById("fk")value;你怎么能够得到呢。

你用var fk=documentgetElementById("id")value;试试

主要是,因为你在页面上是通过post方式提交的

<html:form action="/signUp" method="post" name="myform">

所以你在doGet()方法里接收不到!

在servlet里 加一个dopost()方法,这样写

protected void doPost(>

(1)直接在URL请求后添加 如:<a href=thexuanjspaction=transparams&detail=directe)直接传递参数/a 特别的在使用responsesendRedirect做页面转向的时候,也可以用如下代码: responsesendRedirect(thexuanjspaction=transparams&detail=directe) ,可用requestgetParameter(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 通过这种方式和一般的表单参数一样的,也可以通过requestgetParameter(name)取得参数(3)设置session和request 通过显示的把参数放置到session和request中,以达到传递参数的目的 sessionsetAttribute(name,value); requestsetAttribute(name,value)取参数:value=(value className)sessiongetAttribute(name);另外注意,在取参数的时候,做了类型转换,这是因为放置在session和request中的对象的属性被看作 javalangObject类型的了,如果不转换,在将直付给value时会报classcastexception异常。

首先你这样的写法不对吧

应该是:

public void updateDataBase(String breadName)

{

PreparedStatement st=connprepareStatement("update breadList set breadIntraday= where breadName='?);

}

stSetString(1,"1986-5-5");

stSetString(2,,breadName);

也许你的参数里面有空格或者数据库里面的值有空格导致数据不匹配吧,可以

breadNameTrim()掉空格再试试。

jsp中被包含页面或者父页面增加<%@page isELIgnored="flase"%>才可以使用。

JSP 20的一个主要特点是它支持表达语言(expression language)。JSTL表达式语言可以使用标记格式方便地访问JSP的隐含对象和JavaBeans组件,JSTL的核心标记提供了流程和循环控制功能。自制标记也有自定义函数的功能,因此基本上所有seriptlet能实现的功能都可以由JSP替代。在JSP 20中,建议尽量使用EL而使JSP的格式更一致。

在webxml的<jsp-property-group>中可以控制一组JSP是否使用EL,在每个JSP中也可以指定是否该JSP使用EL。在page directive中的isELIgnored属性用来指定是否忽略。格式为:

<%@ page isELIgnored="true|false"%>

如果设定为真,那么JSP中的表达式被当成字符串处理。比如下面这个表达式<p>${2000 % 20}</p>在isELIgnored="true"时输出为${2000 % 20},而isELIgnored="false"时输出为100。Web容器默认isELIgnored="false"。

Date datein =(requestgetParameter("statttime"));

requestgetParameter("statttime")取出来的永远是String

statttime参数的时间是什么形式的呢?

如果是 类似 2012-05-07 15:57

String转换成Date的例子:

public class StringToDate {

public static void main(String[] args) {

String s = "2012-05-07 15:57:30";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {

Date d = sdfparse(s);

} catch (ParseException e) {

eprintStackTrace();

Systemoutprintln("日期格式错误");

}

}

}

SimpleDateFormat的构造函数可以传入一个String类型的pattern,表示你要转换的日期时间格式。

数据库执行语句的问题没太搞清楚。我来帮你弄明白

执行SQL的常用的有两个接口,preparedstatement和statement。你程序里用的是preparedstatement(SQL),返回了一个存储着编译后的sql语句的preparedstatement对象,调用对象的executeQuery()方法执行sql语句取得结果集。

你的问题出在preparedstatement对象中的executeQuery()方法是没有参数的,所以你把string类型的sql转换成null是不可以的。

executeQuery(string sql)的方法是statement里执行sql语句的方法。是用来执行拼接字符串型的sql的一种方法

现在不提倡使用statement来执行sql语句了,尽可能的使用preparedstatement。

你出的问题查看一下api很容易明白

另外楼上所说的sql语句不规范的问题可以忽略,你写的sql很规范。

另外一个数值型的转换问题使用println格式化输出函数,任何类型的数值都会被转换成string类型在打印到页面上。而常用的所有int double char都可以被转换成string。问题并不出在这儿。

另一个所说的结果集下标的问题,如果你数据库中一条记录又三个字段,而你输入了rsgetString(4)那么是会报下标越界的错误,而不是转换错误(resultset归根结底也是一个数组)。

好好研究,别让别人误导

以上就是关于jsp页面传参,在action中得不到想要的参数。求高手解惑。全部的内容,包括:jsp页面传参,在action中得不到想要的参数。求高手解惑。、servlet 无法接收到jsp中的参数、怎样获取jsp页面跳转参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9632455.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存