从Java填充JSP页面中的Form

时间:2013-03-06 12:05:38

标签: java html ajax spring jsp

我试图找到一种基于Java结果在JSP页面中填充“表单”的方法。

所以这是我的Javascript代码:

$('#uSystemList').change(function() {
    $.get("/live-application/systemById", {systemid: $("#uSystemList").val()}, displayChangedSystemResults, "html");
});

function displayChangedSystemResults(html){
    $('#systemForm').empty();
    $('#systemForm').append(html);
}

表格:

<form:form id="systemForm" method="post" action="/live-application/systemSave" commandName="systemForm">
<tr>
    <td valign="top"><form:select path="uSystemList" id="uSystemList"> </form:select> </td>
</tr>
<tr>
    <td valign="top"><form:input path="fSystemName"/></td>
</tr>
</form:form>

Java方面:

@RequestMapping(value = "/systemById", method = RequestMethod.GET)
public void getSystemById(@RequestParam("systemid") String systemid, OutputStream outputStream) throws IOException {
    StringBuilder refreshHtml = new StringBuilder();
    try {
        String html = new String();
        if (!systemid.equals("")) {
            System system = service.getSystemById(systemid));

            html = html + "<input type='text' value='" + system.getName() + "' id='fSystemName' />";
        } 
        refreshHtml.append(hostHtml);
        outputStream.write(refreshHtml.toString().getBytes());
        outputStream.flush();
    } catch (Exception e) {
        outputStream.flush();
    }
}

作为测试,我只想填充表单的fSystemName字段,但当它返回displayChangedSystemResults函数时没有任何反应。谁能发现我做错了什么?

1 个答案:

答案 0 :(得分:0)

更简单的实现方法是设置要显示请求属性的值 并在JSP中访问它。

服务器端

调整方法签名以包含Spring模型

public void getSystemById(@RequestParam("systemid") String systemid, Model model , OutputStream outputStream) throws IOException {

在请求处理方法中,您可以执行

System system = service.getSystemById(systemid));
model.addAttribute("fSystemName", system.getName());

然后使用JST lib

在JSP中显示它

为了使用JSTL,请将以下罐子添加到/WEB-INF/lib

修改


    <tr>
 <td valign="top"><input type="text" value="${fSystemName}"></input></td>
    </tr>

修改2

你不应该直接处理输出流,你应该让spring为你做。 理想情况下,您的方法应返回view name,该弹簧将自动解析

请查看以下简单教程。这应该会让你朝着正确的方向前进

Spring 3 MVC Hellow World