所以在我的Action类中,我有以下代码。
public ActionForward detailsForUploadForm(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
try {
response.setHeader("Cache-Control", "no-store");
response.setHeader("Cache-Control", "no-cache"); // HTTP 1.1
response.setHeader("Pragma", "no-cache"); // HTTP 1.0
response.setDateHeader("Expires", 0); // prevents caching at the
// proxy server
request.setAttribute("filePath", filePath);
} catch (Exception ex) {}
在我的jsp文件中,我有以下
<html>String path = (String)session.getAttribute("path");
String filePath = (String)request.getAttribute("filePath");</html>
<form> <table>
<input type="hidden" name="filePath" id="filePath" value="<%=filePath%>"/>
</form>
</table>
问题是,我在我的java类中得到了值,但在我的jsp文件中,我得到的值为null。
答案 0 :(得分:0)
如果使用struts显示值,则将其用于显示
<s:property value="%{#request.AttributeName}" />
答案 1 :(得分:0)
<html>String path = (String)session.getAttribute("path");
String filePath = (String)request.getAttribute("filePath");</html>.
这段代码是什么?您打算在scriptlet <% %>
中编写java代码,但是您已在<html>
标记内写入。这不会在JSP中设置任何变量。相反,此代码将以文本形式显示在页面上。
如果要在JSP中访问请求属性,最好的方法是表达式语言。你也不会在scriptlet中需要上面的代码。
只需使用${filePath}
<input type="hidden" name="filePath" id="filePath" value="${filePath}"/>