<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.tkk7.com/sxyx2008/謝謝合作!!!

    雪山飛鵠

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.tkk7.com/sxyx2008/謝謝合作!!!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks

    #

    Struts2整合spring時應注意action的單實例問題
    注意要設置,action bean 的 scope 的值。因為spring的bean默認為單實例singleton,故一定要設scope的值但不能為singleton。建議設置為prototype或request
    posted @ 2009-10-20 16:54 雪山飛鵠 閱讀(375) | 評論 (0)編輯 收藏

    取值要通過<s:property value="" />或在任意的<s:/>標簽內使用%{};

    當Action的valueStack中有該屬性的值時,只需直接使用該屬性的名字即可;

    當Action的valueStack中沒有該屬性的值時,比如在session,application范圍中的屬性值時,需要加#或者#attr.;

    例子:
    假設某Action中有person成員變量,在application中存在company屬性
    那么我們可以通過以下方法取值:
    <s:property value="person.name" />
    <s:property value="#person.name" />
    <s:property value="company.name" /> //無法取到,因為company不在action的valueStack中
    <s:property value="#company.name" />

    <s:textfield name="person.name" value="person.name" /> //錯誤,value會直接顯示person.name字樣
    <s:textfield name="person.name" value="%{person.name}" />
    <s:textfield name="person.company.name" value="%{#company.name}" />
    <s:textfield name="person.company.name" value="%{#attr.company.name}" />
    posted @ 2009-10-19 14:16 雪山飛鵠 閱讀(324) | 評論 (0)編輯 收藏

     

    最近學習struts2是一個問題接著一個問題的遇到

    剛解決了java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity

    接著就來最討厭的亂碼問題,我數據庫用的mysql,大家都知道mysql本省就有可能出現亂碼,加之現在跟struts2混合在一起,指不定會出現什么亂七八糟的編碼,這誰也說不清楚

    整體思路那就是統一編碼(所有的內容都采用同一個編碼)

    大概從這幾個方面來排查

    a)         首先確認mysql的字符編碼,他默認為拉丁文,這里我修改為gbk

    b)        jsp頁面中明確指明編碼類型

    <%@ page language="java" contentType="text/html; charset=gbk"

    pageEncoding="gbk"%>

    上面的意思是指定tomcat的編碼為gbk

    <meta http-equiv="Content-Type" content="text/html; charset=gbk">

        下面的意思是指定web瀏覽器的編碼為gbk

    c)        習慣性的加上spring的字符過濾器

    web.xml中添加過濾器

    <filter>

            <filter-name>CharacterEncodingFilter</filter-name>

        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

            <init-param>

                <param-name>encoding</param-name>

                <param-value>gbk</param-value>

            </init-param>

            <init-param>

                <param-name>forceEncoding</param-name>

                <param-value>true</param-value>

            </init-param>

        </filter>

        <filter-mapping>

            <filter-name>CharacterEncodingFilter</filter-name>

            <url-pattern>/*</url-pattern>

        </filter-mapping>

    d)        最后別忘了在struts.xmlstruts.properties中覆蓋struts2默認國際化的編碼格式

    <constant name="struts.i18n.encoding" value="gbk"></constant>

    到此編碼應該已經統一為gbk了,看看結果吧

    其實最簡單的放法就是把數據庫和jsp中的編碼統一設置為utf-8即可

    posted @ 2009-10-19 14:08 雪山飛鵠 閱讀(485) | 評論 (0)編輯 收藏

     

    今天在寫struts2 save的時候報了這么一個異常

    java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity

        at org.hibernate.event.SaveOrUpdateEvent.<init>(SaveOrUpdateEvent.java:40)

        at org.hibernate.event.SaveOrUpdateEvent.<init>(SaveOrUpdateEvent.java:23)

        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:518)

        at org.hibernate.impl.SessionImpl.save(SessionImpl.java:514)

    從上面的異常信息可以看出是在Hibernate進行save的時候檢測到beannull

    1)        大致從這幾個方面來分析原因:

    2)        Hibernate(*.hbm.xml)映射文件是否錯誤

    3)        DAO層代碼是否錯誤

    4)        檢查Action及視圖層jsp頁面等

    從上面幾個逐個檢查后得出的結論為第四條

    首先看Action中的代碼

    private Employee employee;

        public Employee getEmployee() {

            returnemployee;

        }

        publicvoid setEmployee(Employee employee) {

            this.employee = employee;

        }

    這里employee是我們觀察的重點

    再看jsp中的代碼

    <s:form action="saveEmployee.action">

            <s:textfield name="empName" label="empName"></s:textfield>

            <s:textfield name="age" label="age"></s:textfield>

            <s:textfield name="sex" label="sex"></s:textfield>

            <s:textfield name="context" label="context"></s:textfield>

            <s:submit value="注冊" theme="simple"></s:submit>

            <s:reset value="取消" theme="simple"></s:reset>

    </s:form>

    大家注意<s:textfield/>name屬性的值

    很顯然錯誤發生在此處修改如下即可:

    <s:form action="saveEmployee.action">

            <s:textfield name="employee.empName" label="empName"></s:textfield>

            <s:textfield name="employee.age" label="age"></s:textfield>

            <s:textfield name="employee.sex" label="sex"></s:textfield>

            <s:textfield name="employee.context" label="context" value=""></s:textfield>

            <s:submit value="注冊" theme="simple"></s:submit>

            <s:reset value="取消" theme="simple"></s:reset>

        </s:form>

    由此我們得出的結論是:

    jsp頁面中一定要保持頁面中各個控件的name屬性與Action中模型驅動對象的名字一致否則就會報錯

    posted @ 2009-10-19 11:39 雪山飛鵠 閱讀(27971) | 評論 (19)編輯 收藏

    僅列出標題
    共22頁: First 上一頁 14 15 16 17 18 19 20 21 22 
    主站蜘蛛池模板: 亚洲av片在线观看| 亚洲国产成人综合| 高清免费久久午夜精品| 午夜无遮挡羞羞漫画免费| 亚洲最大的黄色网| 夜夜嘿视频免费看| 高潮毛片无遮挡高清免费视频| 在线观看永久免费视频网站| 欧美亚洲精品一区二区| 免费看无码自慰一区二区| 久久久久久亚洲精品无码| 亚洲精品综合久久| 国产又黄又爽又大的免费视频| 无人在线直播免费观看| 久久精品国产亚洲αv忘忧草| 青青青国产在线观看免费| 亚洲成av人在线观看网站| 全黄性性激高免费视频| 中国国产高清免费av片| 中文字幕亚洲综合久久2| 大地资源二在线观看免费高清| 亚洲人成网www| 日产久久强奸免费的看| 亚洲精品和日本精品| 你好老叔电影观看免费| 亚洲第一区视频在线观看| 麻豆国产VA免费精品高清在线| 欧美激情综合亚洲一二区| 亚洲日韩精品一区二区三区无码 | 亚洲国产精品成人精品无码区在线| 免费看无码特级毛片| 亚洲视频在线观看2018| 亚洲人成色7777在线观看不卡| 免费无码一区二区三区蜜桃| 亚洲一区无码中文字幕乱码| www亚洲精品少妇裸乳一区二区| 久别的草原电视剧免费观看| 亚洲国产综合AV在线观看| 亚洲狠狠婷婷综合久久久久| 成人免费av一区二区三区| 亚洲区视频在线观看|