如何将数据传递给 jsp 并从 servlet 在新窗口中打开它
How to pass data to jsp and open it in new window from servlet
这是我的问题:我有一个jsp,其中包含一个使用数据表的表。它在表格末尾显示一些带有编辑按钮的用户。如果你点击"编辑"按钮,它会调用一个javascript函数从表中获取userID,并通过ajax $post.
方法将其传递给servlet。servlet 通过休眠从数据库接收数据,并将其映射到对象中。我的代码一直工作到这一点。现在我想将对象传递给 jsp 并在新窗口中打开它(一个弹出窗口或内部带有表单的东西,用于使用来自对象的数据设置它们以编辑被调用的用户)。
- 我可以从servlet中做到这一点吗?还是我必须在以下情况下从 ajax 执行此操作调用成功?
方法可以执行此操作:客户端渲染或服务器端渲染:
1.服务器端
你不需要那个servlet,你需要的是制作你的第二个JSP文件作为输入形式。在你的Javascript中,打开一个新窗口,其中包含表单条目JSP页面地址,并将userId参数添加到该页面的查询字符串中:
function onRowClick(userId){
//Open new window with the address: 'formEntry.jsp?userId=' + userId
}
在表单Entry中.jsp您可以从请求参数中获取此ID:
String userId = request.getParameter("userId");
然后,您可以使用此用户 ID 检索您的用户对象:
//get user from dao or service objects
User myUser = someUserService.findUserById(userId);
然后在 JSP 页面中,您可以创建如下输入字段:
<input name="firstName" type="String" value="<%= myUser.getFirstName %>"
关于在 jsp 中使用 java 代码(注释):您正在写关于不在 JSP 页面中编写 Java 代码的文章,但为此目的,您有 2 个选项:
- 使用一些服务器端 MVC 框架(如 JSF)将视图与模型和控制器分开
- 使用纯 JSP,但不要在 JSP 中使用较低级别的层,只使用服务层,最好有一些标签库来减少 JSP 中所需的 Java 代码
2.客户端
第二种方法是使用更多的javascript来处理任务。你可以使用你的servlet方式,让你的servlet返回用户对象的JSON字符串。在javascript中,你获取json并解析它,并将其字段放在html标签中:
function ajaxRequestSuccessHandler(data){
var user = //parse data and make a javascript object
document.getElementById('firstName').value = user.firstName;
....
//load all of data in your form.
}
然后,您可以将表单提交到 servlet 并保存更新的数据。
- 请注意,此方法适用于 1 或 2 种表单,但如果您正在开发更大的软件,则需要使用更多工具和框架:
1.最好使用 JAX-RS 或 Spring-MVC 来公开 RESTful 服务并在 javascript 中使用主题,而不是使用纯 servlet。
2.最好使用一些客户端MV*框架,如angularJS或ReactJS。
- servlet中的请求对象,而不是从jsp接收参数值
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 将多个参数从jsp页面传递给javascript函数
- 使用javascript提交表单并从字段/单选框/复选框/文本区域获取数据
- 从JSP页面调用Java Script函数未返回值
- Magento创建自定义的职业表格,并从CMS页面调用
- 将变量从JSP传递到Javascript
- 通过 href 将值从 jsp 页传递到 servlet
- 将 Java 变量从 JSP 获取到脚本标记中
- 如何将数据传递给 jsp 并从 servlet 在新窗口中打开它
- JavaScript:在XML中搜索节点并从该节点获取数组
- 将数据从JSP传递到jQuery并在Highcharts中绘制
- 从 html 读取输入电子邮件地址并在 JSP 脚本中使用
- 如何将 JSON 对象从服务器发送到 JSP 并在 JSP 上接收响应
- 从 jquery 返回一个变量并在 jsp 中使用
- 从jsp加载servlet并尝试传递多个参数
- 锁定记录并在用户从jsp页面执行操作后释放锁定
- 在java web应用程序中存储UI配置的位置,并从jsp页面读写配置文件
- 从jsp获取json并在javascript上显示
- 如何从jsp文件中获取值并发送到struts中的方法