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

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

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

    liuquanqi

    java

    常用鏈接

    統(tǒng)計(jì)

    最新評論

    webwork 中文亂碼問題 表單字段驗(yàn)證 標(biāo)簽的用法

    1.WebWork中文問題解決:?
    a)在webwork.properties文件中,添加:?
    webwork.i18n.encoding?=?UTF-8?
    它主要是用來設(shè)置WebWork?UI標(biāo)簽庫的編碼,?
    要保持你的頁面和編碼與你在encoding設(shè)置的一致,否則重復(fù)編碼出現(xiàn)亂碼.?
    如果不設(shè)置它將通過System.getProperty("file.encoding"來獲取默認(rèn)字符編碼。
    ?
    PS:2.1.6版本中存在BUG,不能夠使用定義的encoding.?

    b)寫一個Filter,將編碼設(shè)置為UTF-8。?
    例如SetCharacterEncodingFilter。它解決Action數(shù)據(jù)傳遞時的編碼,但是不能解決屬性在Action或是Model賦值的編碼.?
    c)velocity.properties文件中,添加:?
    input.encoding=UTF-8?
    output.encoding=UTF-8?
    default.contentType=text/html;?charset=UTF-8?
    它是用來設(shè)置.vm頁面的編碼方式.?

    d)使用freemarker作為view層,可以再web.xml中指定字符屬性;

    <servlet>
    ????????<servlet-name>freemarker</servlet-name>
    ????????<servlet-class>com.opensymphony.webwork.views.freemarker.FreemarkerServlet</servlet-class>
    ????????<!--?FreemarkerServlet?settings:?-->
    ????????<init-param>
    ????????????<param-name>TemplatePath</param-name>
    ????????????<param-value>/templates/</param-value>
    ????????</init-param>
    ????????<init-param>
    ????????????<param-name>NoCache</param-name>
    ????????????<param-value>true</param-value>
    ????????</init-param>
    ????????<init-param>
    ????????????<param-name>ContentType</param-name>
    ????????????<param-value>text/html</param-value>
    ????????</init-param>
    ???????<!--????????指定編碼?????????-->
    ????????<init-param>
    ????????????<param-name>default_encoding</param-name>
    ????????????<param-value>UTF-8</param-value>
    ????????</init-param>

    ????????<init-param>
    ????????????<param-name>number_format</param-name>
    ????????????<param-value>0.##########</param-value>
    ????????</init-param>
    ????????<load-on-startup>1</load-on-startup>
    ????</servlet>

    2.WebWork表單字段驗(yàn)證:?
    a)Action必須繼承ActionSurport;?
    b)在xwork.xml文件必須定義?
    <action?name="hello"?class="test.HelloAction">?
    ???<result?name="success">/result.jsp</result>????
    ???<result?name="input">?
    ????????<param?value="/location">/index.jsp</param>?
    ???</result>???
    ???<interceptor-ref?name="validationWorkflowStack"/>?
    </action>?
    其中input?是必須定義的,另外要使用?
    <param?value="location">/index.jsp</param>?
    才可以在驗(yàn)證錯誤后回到輸入頁面。
    ?
    c)在Action類名-validation.xml文件必須與Action類在同一目錄下,?
    d)定義的<message/>元素,當(dāng)提示消息為中文時候必須在文件頭定義:?
    <?xml?version="1.0"?encoding="GBK"?>?

    3.WebWork的標(biāo)簽的用法:?
    a)需要提交的表單項(xiàng)name屬性值均為常量,因此均以單引號包圍,以與Model中的變量相匹配,

    <ww:form?namespace="'/test'"?action="'ftltest'"?method="'POST'">
    ???????????????<ww:textfield?name="'msg'"?label="消息"></ww:textfield>
    ???????????????<ww:submit?value="/提交"?/>
    ????</ww:form>
    b)<ww:radio/>和<ww:select/>標(biāo)簽中的list的屬性可以使用Map類型,以key和value對應(yīng)listKey,listValue屬性.

    第一種寫法:

    <ww:select?label="'Months'"?
    ????????name="'months'"?
    ????????????list="#{'01':'Jan',?'02':'Feb',?[]}"?
    ????????value="/01"
    ????????required="true"?
    />

    第二種寫法:

    <ww:select?label="'Pets'"?
    ????????name="'petIds'"?
    ????????list="petDao.pets"?
    ????????listKey="id"?
    ????????listValue="name"?
    ????????multiple="true"?
    ????????size="3"?
    ????????required="true"?
    />

    <!--petDao.pets為普通對象,使用其id為KEY,name為value-->
    <!--如果petDao.pets為Map類型,則可省略listKey和listValue屬性-->

    c)WebWork2中的UI標(biāo)簽的模板定制,可以在webwork.properties文件中指定相關(guān)屬性,并且定制模板文件;

    webwork.ui.theme=xhtml?????//可用的theme還有simple;
    webwork.ui.templateDir=template????//模板路徑;
    #sets?the?default?template?type.?Either?vm?or?jsp
    webwork.ui.templateSuffix=vm???//模板類型,還支持JSP模板,開發(fā)可以使用FreeMarker定制模板;


    4.WebWork的國際化使用:?
    a)<ww:i18?name="'message'">?
    ????????<ww:text?name="'key'"/>?
    ??</ww:i18>?
    使用message_zh_CN.properties中包含key=****;?

    b)在Action中的getText()方法資源來自Action的類名.properties

    c)在Action中可以使用getTexts()獲得具體的ResourceBundle;

    d)在view層一樣可以使用getText()方法;


    ????????<ww:i18n?name="'messages'">
    ????????????<!--在messages.properties文件中有key->index_msg-->????????
    ????????????????<ww property?value="getText('index_msg')"/>
    ????????</ww:i18n>

    posted on 2007-03-19 11:18 ☆℡齊 閱讀(2183) 評論(0)  編輯  收藏 所屬分類: java


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲男人第一av网站| 亚洲国产精品一区二区第一页| 亚洲国产精品成人综合色在线婷婷 | 久久久亚洲精品国产| 国产免费网站看v片在线| 亚洲人色婷婷成人网站在线观看 | 亚洲av日韩av无码| 99re6在线精品视频免费播放| 亚洲一区二区影院| 99久久国产热无码精品免费| 亚洲国产成人久久99精品| 台湾一级毛片永久免费| 亚洲国产成人精品无码区二本 | 亚洲经典在线观看| 久久经典免费视频| 噜噜综合亚洲AV中文无码| 亚洲国产精品人人做人人爽| 在线免费观看伊人三级电影| 亚洲一卡2卡三卡4卡有限公司| 在线观看无码AV网站永久免费| 亚洲久热无码av中文字幕| 国产精品亚洲高清一区二区| 久久精品国产免费一区| 亚洲一区二区三区在线网站| 最好免费观看韩国+日本| yellow免费网站| 亚洲日韩图片专区第1页| 24小时日本在线www免费的| 免费人成再在线观看网站| 亚洲国产精华液网站w| 免费中文熟妇在线影片 | 亚洲女人影院想要爱| 日本特黄a级高清免费大片| 久久久久久av无码免费看大片| 亚洲成aⅴ人片在线影院八| 免费日本黄色网址| 18级成人毛片免费观看| 永久免费精品影视网站| 亚洲一区二区三区四区视频| 亚洲精品色婷婷在线影院| 久久久久久精品免费免费自慰|