我有File对象,看起来像这样
public class FileTO implements Serializable{
private String fileName;
private String filePath;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getFilePath() {
return filePath;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
当然我的struts动作响应中有很多其他对象,我在这里没有列出。
操作完成后,将使用其所在文件的实际路径填充filePath,以便可以下载该文件。我想在<s:a>
标记中显示fileName和filePath。
目标是让href指向filePath。我尝试使用OGNL,即#,%{},$(),似乎没有人正确显示链接。
例如:
<s:a href="?????????"> Click to the get the File </s:a>
答案 0 :(得分:1)
问题有点不清楚,但根据我的理解,您正在寻找s:url
代码。
<a href="<s:url value="%{filePath+fileName}"/>">Link</a>
答案 1 :(得分:1)
<s:a href="?????????"> Click to the get the File </s:a>
如果文件位于可访问的文件夹中:
<s:a href="http://server.with.files.com/path/to/file/fileName.txt">
Click to the get the File
</s:a>
如果文件位于受保护,无法访问,或位于Web应用程序内部或来自数据库等的文件夹中......您应调用Action(或Servlet,如果不在Struts2中) ),应该读取文件,并返回Stream结果。读:
要理解OGNL语法,请read this answer。