在内容空间中导航结果

时间:2015-04-24 17:22:14

标签: java servlets jpa

我希望你能解决我的问题。

out.println("<li class='has-sub'><a href='#'>" + k1.getKName() + "</a>\n");

我有一个JSP并且在这个java代码中。结果是左侧的导航有几个类别和子类别。所以这是一个类别元素。如你所见,我没有在href中放任何东西。我想要做的是,当我点击这个类别时,我会在右侧的内容空间中获得此类别的文章。

那么,为了给内容空间提供结果,我需要做些什么来处理servlet或JSP。我当然不能只在那里调用一个servlet,因为这意味着我明显地得到了href中servlet的结果。

如果这是一个愚蠢的问题,我很抱歉,但我真的不知道如何解决这个问题:(

1 个答案:

答案 0 :(得分:1)

除了之前的评论之外,您不需要Web服务。您可以使用ajax和普通的Servlet来完成此操作。您可能希望使用JQuery来帮助Ajax部分。这里是关于load()函数的一些JQuery文档,它们将:

  

从服务器加载数据并将返回的HTML放入匹配的   元件。

https://api.jquery.com/load/

你的链接看起来像(如果k1是某个范围内的bean,那么你可以使用EL而不是scriptlet):

<a href='javascript:loadData(${k1.id});'>${k1.name}</a>

您的Javascript看起来像:

function loadData(id){
   var url = "/pathToMyServlet?id=" + id;
   $( "#result" ).load( url  );
}

将调用您的Servlet并将返回的HTML插入到页面上具有ID“结果”的元素。

然后,您的Servlet需要生成数据并转发到一个简单的JSP,它返回结果(并且只返回结果),即它不需要是完全形成的HTML页面,而应该只包含结果表或其他任何内容。

停止使用scriptlet:

How to avoid Java code in JSP files?