怎么在acion和jsp中传递参数

chenlm871224 2008-04-09 09:54:47
jsp页面上的代码为
<% int id=100; %>
<html:link page="/forum.do?id=<%=id %>"><%=forum.getForumname() %></html:link>

acion里面的代码为
String id=request.getParameter("forumid");

报错信息为
2008-4-9 9:53:13 org.apache.tomcat.util.http.Parameters processParameters
警告: Parameters: Character decoding failed. Parameter skipped.
java.io.CharConversionException: isHexDigit
at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:87)
at org.apache.tomcat.util.buf.UDecoder.convert(UDecoder.java:48)
at org.apache.tomcat.util.http.Parameters.urlDecode(Parameters.java:411)
at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:393)
at org.apache.tomcat.util.http.Parameters.processParameters(Parameters.java:509)
at org.apache.tomcat.util.http.Parameters.handleQueryParameters(Parameters.java:266)
at org.apache.catalina.connector.Request.parseParameters(Request.java:2341)
at org.apache.catalina.connector.Request.getParameter(Request.java:1005)
at org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:353)
at action.ForumAction.execute(ForumAction.java:46)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
帮忙解决下!!
...全文
175 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenlm871224 2008-04-09
  • 打赏
  • 举报
回复
我自己解决了,但是方法我不是很满意,不知道有没有人给出更好的方法,我就给分

我的方法为
<%
int id=100;
String str="<a href=\"/bbs/forum.do?id="+id+"\">"+forum.getForumname()+"</a>";
%>
<%=str%>

chenlm871224 2008-04-09
  • 打赏
  • 举报
回复
我上面发错了,我的ACTION里确实是id
rsnowy 2008-04-09
  • 打赏
  • 举报
回复
你在jsp页面里forum.do?id 表示向action传递的参数是问号后面的id,所以你在action中捕获的 也要是id这个名字
chenlm871224 2008-04-09
  • 打赏
  • 举报
回复
修改一下,
acion里面的代码为
String id=request.getParameter("id");
黑夜 2008-04-09
  • 打赏
  • 举报
回复
<a href="/bbs/forum.do?id=${id}">${forum.getForumname()}</a>
试试
hansi_0625 2008-04-09
  • 打赏
  • 举报
回复
<% int id=100; %>
<html:link page="/bbs/forum.do?id= <%=id %>"> <%=forum.getForumname() %> </html:link>

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧