现在的位置: 首页 > 综合 > 正文

在Struts结构中,JSP页面的元件命名最好别用大写字母开头

2013年10月21日 ⁄ 综合 ⁄ 共 840字 ⁄ 字号 评论关闭

Struts结构中,JSP页面的元件命名最好别用大写字母开头

 

       我在JSP页面里面放了一个<select name=Provider>….</select>,我原来用大写名,希望主是好看一点,也没有什么别的意思,可是当我在Action里面做插入的时候,一直得这个的值是0,不管我怎么改,刚开始我还以为是其它那里出错了,并且还设了拦截条件,只要这个为0就以错误的形式返回,结果一直都是这样,我还以为是缓存的问题,把IDE关了再重新打开(因为我遇到过这样的问题),甚至把电脑重新启动还是这样,我就有点搞不懂了。

       后来,我想一下,是不是与元件名有关,难道我当前的JSP页面在那个地方引用到了一个相同名字的元件,我就在JSP页面里把名改为“Provider_”,在后面加一线,我不相信就那么巧;当然,在JSP页面里改就得改对应FormBean,我在FormBean里面做名字更改的时候,IDE提醒我,“变量名通常是以小写开头”,当时脑中灵光一闪,肯定是这里出问题了,赶紧把大写名字改成小的,然后一试,果然OK

       不过,对于这个问题,我想主要的还是因为JAVA是区分大小来对待的,因为“Provider”对应FormBean中是这样写的:

       public void setProvider(int provider) {

        this.provider = provider;

    }

 

    public int getProvider() {

        return provider;

}

这是JAVABEAN的要求,把对应元件的名字第一个字母大写,并且默认元件的名字是小写,所以在得值的时候,肯定它会这样查找:是去掉set,并把第一个字母变为小写,在这里就是去取provider的值,而不是我们常规认为Provider的值了。

这个问题,折磨了我好几个小时,就算问问题,在自己没有发现之前,问都不知道从何问起,因为其它的步骤都是正确的,这就是所谓的要照标准吧。

 

抱歉!评论已关闭.