代码Struts部分package com.ssh_rooms.action;import java.io.*;
import java.net.URLDecoder;
import java.util.*;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.springframework.stereotype.Controller;@Controller
public class MyUploadAction extends Action
{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
String rPath=request.getParameter("pPath");
String picPath=URLDecoder.decode(rPath,"utf-8");
HttpSession session=request.getSession();
File carrier=new File(picPath);
long fmaxSize=carrier.length();
long limitSize=1024*1024;
String fname=carrier.getName().toUpperCase();
List<String> fendName=new ArrayList<String>();
fendName.add("JPG");
fendName.add("JPEG");
fendName.add("BMP");
fendName.add("GIF");
fendName.add("PNG");
String targetPath="D:\\JAVA\\tools\\Tomcat 6.0\\webapps\\ssh_rooms\\img_tenement\\"+fname;
File targetFile=new File(targetPath);
if(fmaxSize>limitSize)
{
String pic_msg="<img src='"+request.getContextPath()+"/ico/error.png' />"
+"文件过大,请选择其他图片!";
System.out.println(pic_msg);
session.setAttribute("pic_msg", pic_msg); return mapping.findForward("myUpload");
}
else if(fmaxSize<limitSize||fmaxSize==limitSize)
{
int count=0;
for(String name:fendName)
{
if(fname.endsWith(name))
{
String pic_msg="<img src='"+request.getContextPath()+"/ico/pass.png' />"
+"文件上传成功!";
System.out.println(pic_msg);
FileInputStream fis=new FileInputStream(carrier);
FileOutputStream fos=new FileOutputStream(targetFile);
byte[] bytes=new byte[1204*1024];
int length=0;
while((length=fis.read(bytes))!=-1)
{
fos.write(bytes,0,length);
}
fis.close();
fos.close();
session.setAttribute("pic_msg", pic_msg); }
else if(!fname.endsWith(name))
{
count++;
if(count==fendName.size())
{
String pic_msg="<img src="+request.getContextPath()+"/ico/error.png />"
+"文件格式不正确,请选择图片!";
System.out.println(pic_msg);
session.setAttribute("pic_msg", pic_msg); }
}
}
return mapping.findForward("myUpload");
}
else if(picPath==null)
{
return mapping.findForward("myUpload");
}
else
return mapping.findForward("myUpload");
}
}<!-- ======================分割线 ====================== -->jsp部分<div class="pic_msg" id="pic_msg">
<div class="pic_msg_title">
</div>
<div class="pic_msg_content" align="center"><br>
${pic_msg}
</div>
</div>现在的问题是
System.out.println(pic_msg);显示的信息是准确的
但是
${pic_msg}总是显示第一次满足条件的信息
以后其他条件得到的结果都不显示,仅仅显示第一次满足条件的信息
import java.net.URLDecoder;
import java.util.*;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.springframework.stereotype.Controller;@Controller
public class MyUploadAction extends Action
{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
String rPath=request.getParameter("pPath");
String picPath=URLDecoder.decode(rPath,"utf-8");
HttpSession session=request.getSession();
File carrier=new File(picPath);
long fmaxSize=carrier.length();
long limitSize=1024*1024;
String fname=carrier.getName().toUpperCase();
List<String> fendName=new ArrayList<String>();
fendName.add("JPG");
fendName.add("JPEG");
fendName.add("BMP");
fendName.add("GIF");
fendName.add("PNG");
String targetPath="D:\\JAVA\\tools\\Tomcat 6.0\\webapps\\ssh_rooms\\img_tenement\\"+fname;
File targetFile=new File(targetPath);
if(fmaxSize>limitSize)
{
String pic_msg="<img src='"+request.getContextPath()+"/ico/error.png' />"
+"文件过大,请选择其他图片!";
System.out.println(pic_msg);
session.setAttribute("pic_msg", pic_msg); return mapping.findForward("myUpload");
}
else if(fmaxSize<limitSize||fmaxSize==limitSize)
{
int count=0;
for(String name:fendName)
{
if(fname.endsWith(name))
{
String pic_msg="<img src='"+request.getContextPath()+"/ico/pass.png' />"
+"文件上传成功!";
System.out.println(pic_msg);
FileInputStream fis=new FileInputStream(carrier);
FileOutputStream fos=new FileOutputStream(targetFile);
byte[] bytes=new byte[1204*1024];
int length=0;
while((length=fis.read(bytes))!=-1)
{
fos.write(bytes,0,length);
}
fis.close();
fos.close();
session.setAttribute("pic_msg", pic_msg); }
else if(!fname.endsWith(name))
{
count++;
if(count==fendName.size())
{
String pic_msg="<img src="+request.getContextPath()+"/ico/error.png />"
+"文件格式不正确,请选择图片!";
System.out.println(pic_msg);
session.setAttribute("pic_msg", pic_msg); }
}
}
return mapping.findForward("myUpload");
}
else if(picPath==null)
{
return mapping.findForward("myUpload");
}
else
return mapping.findForward("myUpload");
}
}<!-- ======================分割线 ====================== -->jsp部分<div class="pic_msg" id="pic_msg">
<div class="pic_msg_title">
</div>
<div class="pic_msg_content" align="center"><br>
${pic_msg}
</div>
</div>现在的问题是
System.out.println(pic_msg);显示的信息是准确的
但是
${pic_msg}总是显示第一次满足条件的信息
以后其他条件得到的结果都不显示,仅仅显示第一次满足条件的信息
解决方案 »
- 【求助】Web Services连接数据库发布报错NoClassDefFoundError
- el 判断字符串
- struts2 fielderror 输出格式simple 模式 仍然 奇丑无比,,,求解决方法。
- sax解析XML后怎么得到我要的数据,现在只能在控制台输出。
- aop实现权限管理的讨论,希望大家积极参与!
- “维基百科”难道被封了,怎么一直不能上?
- Spring MVC的问题
- weblogic 总是报这种错误,然后连接数据库就断开,该在哪儿修改 谢谢!新年愉快
- WebLogic Portal是干什么用的?
- 求救!!!如何在JTable的单元格尾部加入一个按钮
- 如何在SQLite中删除某一个表中所有内容?
- 线程池问题
每次存放的session中的时候,你先进行remove然后再放!
session.setAttribute("pic_msg", pic_msg);
这样之后还是不行,仍然出现同样的问题
还有Jquery前台提示信息
每次必须先刷新一次页面
${pic_msg}才会显示
但是后台已经输出了
指的这三个判断条件,谁先满足,谁就先显示
以后再满足其他条件,后台能准确打印出相应的结果
但是将这个结果作为提示信息存放到session转发给前台显示的时候
就总是显示第一次出现的结果
我后台尝试过
session.removeAttribute("pic_msg");这个没有效果
前台也试过
<%session.removeAttribute("pic_msg"); %>
这个有效果:页面装载完毕,这个属性也就清掉了,div那里总是空的