分类: Struts预览模式: 普通 | 列表
08-01
23

几种对标题长度限制的办法

一.Struts本来有<bean:write>标签,对其类StringTag进行扩展
我觉得在读数据的时候截取标题的长度有一些不妥当,我刚才试图写了一个很简单的自定义标签,在struts中有这样一个标签<bean:write name="article" property="title"/>上面标签的意思是读取article对象中的title属性的值,现在对title的长度要求限制在一定范围之内,定义此标签的类是org.apache.struts.taglib.bean.WriteTag如果对这个类扩展,加一个属性cut ,再根据cut的大小来截取标题的长度,我对WriteTag继承,重写doStartTag(), package org.apache.struts.taglib.bean; //注意,要这样写,不然会出错的
StringTag extends WriteTag{....
public String setValue(String value) {
    String tempProperty=value;
    if(cut>0){
        if(tempProperty.length()>=(cut+1)){
            tempProperty=tempProperty.substring(0, cut) +"...";        }
    }

查看更多...

Tags: bean:write 标签 自定义 自定义标签

分类:Struts | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1255
08-01
21

一表单,多提交

第一种:
<script>
  function btn_click(formAction){
  /*
  校验代码
  ....
  */
   document.all.form1.action=formAction;
document.all.form1.submit();

查看更多...

Tags: 一表单 多提交 多按钮 提交按钮

分类:Struts | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1137
08-01
19

Duplicate local variable news

局部变量定义重名了!
比如说:
<%NewsVO news = (NewsVO) request.getAttribute("NEWS");%>
<bean:define id="news" name="NEWS"  scope="request" type="order.vo.NewsVO"></bean:define>

这两句放在了一起!

查看更多...

Tags: Duplicate local variable news

分类:Struts | 固定链接 | 评论: 2 | 引用: 0 | 查看次数: 1857
08-01
17

Cannot forward after response has been committed

这个是错误是由于response多次提交引起的,错误代码:
new JSforForwardBean().MyForward(response,"contorl_news.do", Msg);
log.info("批处理完成");
return new ActionForward("/manager/news/shownews.jsp");


MyForward中已经执行了跳转。
之后的return请求依旧是跳转,但程序并不执行,控制台抛错!

查看更多...

Tags: forward committed

分类:Struts | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2026
08-01
12

struts中post方式上传文件,enctype="multipart/form-data",re

struts中post方式上传文件,enctype="multipart/form-data",request.getParameter("file") 是null的问题分析

这两天连续看到有人提到:struts中post方式上传文件,enctype="multipart/form-data",request.getParameter("file")时候,得到一个Null,或者直接得到 java.lang.IllegalArgumentException 这样一个异常。

结合到自己以前也遇到过这个问题,于是上网搜索了一些资料,下面这位网友的说法我觉得有些道理,因此摘抄下来。(红色自己为别人的分析,我觉得有道理)

使用struts进行文件上传,如果有些参数没有完全定义在ActionForm中,需要从request.getParameter获取,在表单提交并且validate失败返回input页面时,这部分需要从request.getPrameter获取的参数数据都丢失了,即使再对request进行multipart解析也不能得到。

经过分析,发现struts的ActionServlet在接收到multipart请求之后,在RequestProcessor中会对request进行封装:MultiRequestWrapper,然后在Action执行完之后,又将已经封装的request重新还原。以下是部分代码,截直RequestProcessor:

查看更多...

Tags: NULL multipart/form-data 上传

分类:Struts | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 744
08-01
11

SmartUpload

     最终还是放弃了在Struts下使用SmartUpload,原因:SmartUpload初始化时死循环。查了下,这个问题在网上的解决方案应该是重新编译SmartUpload源码,想想算了。还是使用Struts自带的吧。

查看更多...

Tags: 上传文件 SmartUpload

分类:Struts | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 574