【发布时间】:2014-12-03 21:14:44
【问题描述】:
我正在关注 http://www.simplecodestuffs.com/integrating-jquery-datatable-with-struts2-using-ajax-to-implement-gridview/ 上关于 struts 2 的教程
我理解了使用POJO动作类struts.xml配置等核心概念。但是困扰我的是在本教程中,struts.xml中提到了一个名为“grid.jsp”的jsp结果。但是这个页面根本不存在于应用程序中,它仍然有效。
怎么会这样? struts 2会生成一些jsp模板吗?请检查随附的屏幕截图。它有项目结构和struts.xml。
我尝试了各种书籍和教程以及谷歌搜索,但从未讨论过这个话题。请帮忙。我想了解请求到达动作类时的流程。
这类示例也出现在 struts2 展示中。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="json-default">
<action name="dataTablesAction" class="com.action.GridViewAction">
<result type="json">grid.jsp</result>
</action>
</package>
</struts>
【问题讨论】:
-
你检查过WEB-INF目录吗?
-
是的。我检查了项目中的所有目录。您也可以从帖子中提供的 URL 下载项目。
-
当它说“现在创建jsp文件来显示数据......”表示这个文件
-
本教程是“错误的”,您只需指定
<result type="json"/>中的任何文本都可能会被忽略,因为 json thingy 不希望那里有任何文本。请参阅struts.apache.org/release/2.2.x/docs/json-plugin.html中的“为操作编写映射”部分 -
根据我收集到的信息(我实际上从未使用过 struts 或类似的东西):索引 jsp 脚本部分中的
sAjaxSource会导致向您的服务器发出 AJAX http 请求(基本上就像 api.jquery.com/jquery.getjson ) 的 url 包含dataTablesAction。服务器将其映射到最终生成 json 的操作类。然后该 json 会返回到您的脚本中以更新表。 Ajax 不是重定向,它是当前页面的异步更新,维基百科应该有更多关于它的信息。所以不需要指定jsp。