J4架构应用过程中出现的问题与解决摘录

时间:2021-01-19 21:54:01

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6369346.html 

sendRedirect()的页面不能用EL表达式获取参数:因为是新的request。EL生命周期只存在于当前request。


要传回浏览器的数据多,封装为一个对象,然后setAttribute到request,然后把request  forward到目标页面用EL表达式 ${obj.attr}获取相应数据。

跳转传参:
如果是在url后直接传参,则用a标签直接拼写
如果是表单传参,则只会把表单中的输入作为参数传给url,而在action属性的url后直接拼写的参数会自动忽略,无效!
如果需要用表单传某标志性参数(非输入性参数),用<input type="hidden" name="" value="">实现(但如果是上传表单就不能用了,因为上传表单获取表单内的值是                            String name = item.getFieldName();
                     String value = item.getString("utf-8");来获取的)


上传文件到相对路径下:
相对路径用于保存到数据库:save_path = dstPath + fileName;


真正写文件的时候要用绝对路径来创建文件并写入:
File file2 = new File(request.getSession().getServletContext().getRealPath(save_path));    
fileItem.write(file2);

 


int/double等类型变量=getAttribute等获取值为空报错。则把int/double用Integer、Double封装类来取代,这样类对象就可以用来与null作比较了。

出现修改的东西没有更新/部署的情况,一般是导入包时路径/jdk没有配置好,此时项目处会有红色感叹号标志,这时就要查看properties-java build path-librarys,有红叉的删除掉或配置好相应jdk即可解决。