JSP:如何通过按下按钮更新表

时间:2018-02-15 14:51:09

标签: java jsp

ħ!

我有一个简单的应用程序(Java + SpringBoot + JSP)。那是我的控制器:

@Controller
public class MainController {

   private static List<Rss.Channel.Item> items = new LinkedList<>();

    static {
        for(Rss.Channel.Item its : test()){
            items.add(its);
        }
    }

我使用以下方法填写我的&#34; Personlist&#34; jsp页面:

@RequestMapping(value = { "/personList" }, method = RequestMethod.GET)
    public String viewPersonList(Model model) {
        model.addAttribute("persons", items);
        return "personList";
    }

test() - 这没关系。一些方法......

JSP页面&#34; Personlist&#34;非常简单:

<div>
    <table border="1">
        <tr>
            <th>First Name</th>
            <th>Last Name</th>
        </tr>
        <c:forEach  items="${persons}" var ="person">
            <tr>
                <td>${person.title}</td>
            </tr>
        </c:forEach>
    </table>
</div>

那么,如何添加按钮&#34;刷新&#34;到我的JSP页面更新表内容,无需重新加载页面。

谢谢!

1 个答案:

答案 0 :(得分:2)

你做不到。至少不那样。这里的问题是JSP实际上是一个真正的servlet,这意味着它在服务器端执行,只产生一个字符流,通常是一个HTML页面。浏览器只接收该页面,并且不知道它是通过JSP生成的。

当然可以只更新页面而不完全重新加载它,SO网站就满了。但它涉及客户端Javascript,可以:

  • 将其他请求发送到服务器,并且通常接收Json格式的数据(当然可以使用其他格式)
  • 使用该数据修改当前显示页面的DOM。

您可以使用普通的Javascript来实现这一点,但更常见的是使用更高级别的框架(如jQuery)来隐藏特定浏览器的特定行为并为您提供更高级别的组件。