java - 如何从 textarea 获取文本并将其作为 URL 的参数发送
问题描述
我想从 textarea 获取文本并将其作为表单操作中的参数发送。
所以,我有页面 showarticle.jsp 显示所有文章的评论。首先,我在 index.jsp 上调用它,参数为 comment_ref=null(这意味着我不想第一次添加评论)
<a href="showarticle.jsp?id=${row.id}&comment_ref=null">${row.title}</a>
在 showarticle.jsp 我有一个添加新评论的表格
<form action="showarticle.jsp?id=${id_param}&comment_ref=${comment_text_aria_cur}" method="post">
<textarea name="comment_text_aria_cur" rows="4" cols="50"></textarea>
<input type="submit" name ="submit" value="Send">
</form>
在这里我再次调用showarticle.jsp,但在这里我想从文本区域添加文本作为参数comment_ref。
我试过了
<form action="showarticle.jsp?id=${id_param}&comment_ref="<%=request.getParameter("comment_text_aria_cur") method="post">
但仍然无法正常工作。在这种情况下,我只能看到以前的值。例如,
我写评论“aaa”并按提交-> comment_ref = null。我写评论“bbb”并按提交->comment_ref = aaa。
我确定解决方案非常简单。谢谢!
解决方案
首先将 method="post" 更改为 method="get"。通常,Post 不允许通过 url 发送值(但是,您仍然可以使用 javascript 实现查询字符串)。对于 post,值在请求正文中以内容类型指定的格式发送(主要是 application/x-www-form-urlencoded)。
一旦您将 post 更改为 get,当您提交表单时,这些值会自动附加到 url。您无需显式附加它。
request.getParameter 用于获取表单参数的值,即从 url 请求中获取参数值。您不能使用它来附加值。
这是一种简单的方法。
<form action="showarticle.jsp" method="GET">
<textarea name="comment_text_aria_cur" rows="4" cols="50"></textarea>
<input type="hidden" name ="id" value="<%= request.getParameter("id_param")%>">
<input type="submit" name ="submit" value="Send">
</form>
确保您正在设置 id_param (request.setAttribute("id_param", value) )
推荐阅读
- laravel - Laravel - 实时服务器上的 Public_path()
- iccube - icCube:ic3Table 和图表中的剪切标签
- php - Laravel 中文件管理器包的问题
- regex - 一元自然数的匹配范围
- python - 从 DataFrame 到嵌套的 Json 对象
- amazon-web-services - ec2 实例上的 docker-compose 返回 Permission denied: '/etc/grub.d'
- r - 将 ggpredict() 和 ggplot2() 与缩放的连续变量一起使用并尝试对它们进行缩放
- javascript - 我在反应中创建可拖动组件时出错
- asp.net - ASP.NET Core mvc 应用程序中的 FFMPEG 录制
- c++ - 使用 for_each 删除向量的元素