上传CSV文件并在datagrid中显示预览

时间:2012-10-22 11:05:16

标签: java jquery ajax json struts2

我想异步上传一个csv文件到后端,并在同一页面中显示预览数据而不刷新/重新加载页面。所以我想用AJAX来做。

我想知道如何使用Ajax和Jquery来做到这一点。我正在使用struts2。 struts2有没有可用的插件?

非常感谢任何有关这方面的帮助。

1 个答案:

答案 0 :(得分:1)

结帐Struts2-jQuery-Plugin。然后简单地这样做:

<s:form action="process-csv">
    <s:file name="fileName"/>
    <sj:submit targets="csvDiv"/>
</s:form>
<sj:div id="csvDiv"/>

在您的操作process-csv中,您应该阅读上传的文件并输出,然后它会显示在div中id="csvDiv"

如果您有其他问题,请再试一次。

<强>更新
形式:

<s:form action="process-csv">
    <s:file name="fileName"/>
    <sj:submit targets="csvDiv"/>
</s:form>
<sj:div id="csvDiv"/>  

行动类:

public class ProcessCsv {
    private File fileName;//getter + setter
    private String content;// getter + setter
    public String execute(){
        content = parseCsv(fileName);
        return SUCCESS;
    }
}

您可以使用OpenCsv等库来实施parseCsv()
test.jsp上,您只需要:

<textarea><s:property value="%{content}"/></textarea>