Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从JSP刷新/访问模型_Java_Javascript_Spring_Jsp - Fatal编程技术网

Java 如何从JSP刷新/访问模型

Java 如何从JSP刷新/访问模型,java,javascript,spring,jsp,Java,Javascript,Spring,Jsp,有人能告诉我如何从JSP访问模型吗 这是我的控制器: @RequestMapping(value = "/systemById", method = RequestMethod.GET) public void getSystemById(Model model, OutputStream outputStream) throws IOException { model.addAttribute("fSystemName", "Test name"); name = syst

有人能告诉我如何从JSP访问模型吗

这是我的控制器:

@RequestMapping(value = "/systemById", method = RequestMethod.GET)
public void getSystemById(Model model, OutputStream outputStream) throws IOException {
     model.addAttribute("fSystemName", "Test name");
     name = system.getName();
} 
JSP代码:

$('#uINewsSystemList').change(function() {
    $.get("/application/systemById");
);  

<form:form id="systemForm" commandName="systemForm">
<tr>
    <td valign="top"><form:input path="fSystemName" value="${fSystemName}" size="20" />&nbsp;</td>                      
</tr>

一旦将字符串添加到模型中,我就无法刷新表单。有什么想法吗

基于用户交互进行ajax调用时,所调用的流与用于呈现页面的原始JSP无关

您可以通过表单submit/POST让getSystemById方法完全重新呈现页面,也可以修改示例代码,以实际返回必要的数据,通过JavaScript进行更改。由于您提到您正在寻找动态更新,因此更改可能如下所示:

@RequestMapping(value = "/systemById/${id}", method = RequestMethod.GET)
public String getSystemById(@PathVariable String id) throws IOException {
     //lookup new system data by id
     Model model = someService.getModelById(id);
     return model.getName(); //you can return more than just name, but then you will need some sort of conversion to handle that data (json, xml, etc.)
} 
客户端ajax调用需要设置成一个success函数,使用返回的数据更新ui

$('#uINewsSystemList').change(function() {
    var id = $(this).val();
    $.get("/application/systemById/" + id, function(returnedData){
        //use returnedData to refresh the ui.
        $('selectorForSystemNameField').val(returnedData);
    });
);  

当基于用户交互进行ajax调用时,所调用的流与用于呈现页面的原始JSP无关

您可以通过表单submit/POST让getSystemById方法完全重新呈现页面,也可以修改示例代码,以实际返回必要的数据,通过JavaScript进行更改。由于您提到您正在寻找动态更新,因此更改可能如下所示:

@RequestMapping(value = "/systemById/${id}", method = RequestMethod.GET)
public String getSystemById(@PathVariable String id) throws IOException {
     //lookup new system data by id
     Model model = someService.getModelById(id);
     return model.getName(); //you can return more than just name, but then you will need some sort of conversion to handle that data (json, xml, etc.)
} 
客户端ajax调用需要设置成一个success函数,使用返回的数据更新ui

$('#uINewsSystemList').change(function() {
    var id = $(this).val();
    $.get("/application/systemById/" + id, function(returnedData){
        //use returnedData to refresh the ui.
        $('selectorForSystemNameField').val(returnedData);
    });
);  

你能解释一下你到底想做什么吗?您的JSP视图是否与控制器关联?是否要在更改uINewsSystemList后动态更新表单?是的,一旦他们从uINewsSystemList中选择了一个项目,它应该相应地更改表单中的值。是的,JSP是与控制器相关联的视图。您能确切地解释一下您要做什么吗?您的JSP视图是否与控制器关联?是否要在更改uINewsSystemList后动态更新表单?是的,一旦他们从uINewsSystemList中选择了一个项目,它应该相应地更改表单中的值。是的,JSP是与控制器关联的视图。如果控制器已经设置为期望字符串作为视图名称,则还需要getSystemById方法上的@ResponseBody注释。如果控制器已经设置为期望字符串作为视图名称,则还需要getSystemById方法上的@ResponseBody注释。