【发布时间】:2015-07-26 18:11:25
【问题描述】:
我有两个动作。一种叫做produceHtml.action。结果是一个呈现的 JSP 页面。
另一个动作称为produceJSON.action,它产生一个对象的 jsonified 内容。
是否有可能在 produceJSON.action 中执行 produceHtml.action 并将生成的 HTML 放入对象的字符串字段中,使其成为 JSON 结果的一部分?
【问题讨论】:
-
为什么需要这个?如果你需要页面返回它如果你需要 json 使用 json.
-
JSON 结果包含更新页面所需的几个值和插入该页面某处的 HTML 块。我可以自己在代码中构建这个 html 块。但是,如果我可以有一个常规的 JSP 文件并通过一个操作来创建它,那将会更容易和更好。这样我就可以使用所有的标签和 struts 功能。现在我正在使用两个单独的 ajax 调用来做这件事。一个获取 JSON,一个检索 HTML 块。但我想只打一次电话。
-
可以返回带有一些隐藏值的jsp。因此,您的 html 块将从操作中返回,然后您可以检索隐藏字段以更新您现在使用 json 更新的值。
-
是的,这实际上是我的 B 计划。我什至可以将完整的 JSON 块隐藏在 JSP 中。这将更容易在浏览器 JS 中解析和处理。但只是为了它,我仍然想知道是否有可能运行一个完整的动作和 JSP 调度来获得生成的 HTML 可能作为 OutputStream。而不是将其写入 HTTP 响应输出流。
-
您可以使用
stream结果。但是如果你也想处理jsp,那就没那么简单了。