当前位置: 首页 > news >正文

网站怎么做可留言功能陕西住房与城乡建设部网站

网站怎么做可留言功能,陕西住房与城乡建设部网站,ftp下载wordpress,徐州京都网架公司具有讽刺意味的是#xff0c;可能很难在JAXB#xff08;JSR-222#xff09;中映射java.util.Map类#xff1f; 在这篇文章中#xff0c;我将介绍一些使其变得更容易的项目。 Java模型 以下是我们将用于此示例的Java模型。 顾客 Customer类具有Map类型的属性。 我之所以… 具有讽刺意味的是可能很难在JAXBJSR-222中映射java.util.Map类 在这篇文章中我将介绍一些使其变得更容易的项目。 Java模型 以下是我们将用于此示例的Java模型。 顾客 Customer类具有Map类型的属性。 我之所以选择此Map是因为键是一个域对象而值是一个域对象。 package blog.map;import java.util.*; import javax.xml.bind.annotation.*;XmlRootElement public class Customer {private MapString, Address addressMap new HashMapString, Address();public MapString, Address getAddressMap() {return addressMap;}public void setAddressMap(MapString, Address addressMap) {this.addressMap addressMap;}} 地址 Address类只是典型的POJO。 package blog.map;public class Address {private String street;public String getStreet() {return street;}public void setStreet(String street) {this.street street;}}示范代码 在下面的演示代码中我们将创建一个Customer实例并填充其Map属性。 然后将其封送为XML。 package blog.map;import javax.xml.bind.*;public class Demo {public static void main(String[] args) throws Exception {JAXBContext jc JAXBContext.newInstance(Customer.class);Address billingAddress new Address();billingAddress.setStreet(1 A Street);Address shippingAddress new Address();shippingAddress.setStreet(2 B Road);Customer customer new Customer();customer.getAddressMap().put(billing, billingAddress);customer.getAddressMap().put(shipping, shippingAddress);Marshaller marshaller jc.createMarshaller();marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);marshaller.marshal(customer, System.out);}}用例1 –默认表示 以下是与我们的域模型相对应的XML示例。 我们看到Map中的每个项目都有包裹在entry元素中的key和value元素。 ?xml version1.0 encodingUTF-8? customeraddressMapentrykeyshipping/keyvaluestreet2 B Road/street/value/entryentrykeybilling/keyvaluestreet1 A Street/street/value/entry/addressMap /customer用例2 –重命名元素 JAXB参考实现使用XmlElementWrapper批注来重命名与Map属性相对应的元素我们已在EclipseLink 2.4.2和2.5.0中向MOXy添加了此支持。 在MOXy的早期版本中应使用XmlElement批注。 顾客 我们将使用XmlElementWrapper批注将与addressMap属性对应的元素重命名为address 。 package blog.map;import java.util.*; import javax.xml.bind.annotation.*;XmlRootElement public class Customer {private MapString, Address addressMap new HashMapString, Address();XmlElementWrapper(nameaddresses)public MapString, Address getAddressMap() {return addressMap;}public void setAddressMap(MapString, Address addressMap) {this.addressMap addressMap;}} 输出量 现在我们看到的是addressMap元素已被重新命名为地址 。 ?xml version1.0 encodingUTF-8? customeraddressesentrykeyshipping/keyvaluestreet2 B Road/street/value/entryentrykeybilling/keyvaluestreet1 A Street/street/value/entry/addresses /customer用例3 –添加命名空间资格 在此用例中我们将研究将名称空间限定应用于属性类型为java.util.Map的类的影响。 有一个与Map属性的名称空间限定有关的MOXy错误已在EclipseLink 2.4.2和2.5.0中修复请参见 http : //bugs.eclipse.org/399297 。 包装信息 我们将使用包级别XmlSchema批注来指定属于该包中的类的所有字段/属性都应使用http://www.example.com命名空间进行限定请参阅 JAXBNamespaces 。 XmlSchema(namespacehttp://www.example.com,elementFormDefaultXmlNsForm.QUALIFIED) package blog.map;import javax.xml.bind.annotation.*; 输出量 我们看到与Customer和Address类相对应的元素是名称空间限定的但与Map类相对应的元素则不是。 这是因为Map类来自java.util包因此我们在包级别XmlSchema注释中指定的信息不适用。 ?xml version1.0 encodingUTF-8? ns2:customer xmlns:ns2http://www.example.comns2:addressesentrykeyshipping/keyvaluens2:street2 B Road/ns2:street/value/entryentrykeybilling/keyvaluens2:street1 A Street/ns2:street/value/entry/ns2:addresses /ns2:customer用例4 –使用XmlAdapter修复命名空间资格 我们可以使用XmlAdapter来调整前一个用例的名称空间限定。 XmlAdapterMapAdapter XmlAdapter机制允许您将一个类转换为另一个类以影响映射请参阅 XmlAdapter – JAXB的Secret Weapon 。 为了获得适当的名称空间限定我们将使用XmlAdapter将Map转换为域模型包中的对象。 package blog.map;import java.util.*; import javax.xml.bind.annotation.adapters.XmlAdapter;public class MapAdapter extends XmlAdapterMapAdapter.AdaptedMap, MapString, Address {public static class AdaptedMap {public ListEntry entry new ArrayListEntry();}public static class Entry {public String key;public Address value;}Overridepublic MapString, Address unmarshal(AdaptedMap adaptedMap) throws Exception {MapString, Address map new HashMapString, Address();for(Entry entry : adaptedMap.entry) {map.put(entry.key, entry.value);}return map;}Overridepublic AdaptedMap marshal(MapString, Address map) throws Exception {AdaptedMap adaptedMap new AdaptedMap();for(Map.EntryString, Address mapEntry : map.entrySet()) {Entry entry new Entry();entry.key mapEntry.getKey();entry.value mapEntry.getValue();adaptedMap.entry.add(entry);}return adaptedMap;}} 顾客 XmlJavaTypeAdapter批注用于在Map属性上指定XmlAdapter 。 请注意在应用XmlAdaper的情况下我们需要将XmlElementWrapper批注更改为XmlElement 证明应该使用XmlElement来注释Map属性的元素。 package blog.map;import java.util.*; import javax.xml.bind.annotation.*; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;XmlRootElement public class Customer {private MapString, Address addressMap new HashMapString, Address();XmlJavaTypeAdapter(MapAdapter.class)XmlElement(nameaddresses)public MapString, Address getAddressMap() {return addressMap;}public void setAddressMap(MapString, Address addressMap) {this.addressMap addressMap;}} 输出量 现在XML输出中的所有元素都已使用http://www.example.com命名空间进行了限定。 ?xml version1.0 encodingUTF-8? customer xmlnshttp://www.example.comaddressesentrykeyshipping/keyvaluestreet2 B Road/street/value/entryentrykeybilling/keyvaluestreet1 A Street/street/value/entry/addresses /customer 参考 Java XML和JSON绑定博客中我们的JCG合作伙伴 Blaise Doughan的JAXB和java.util.Map 。 翻译自: https://www.javacodegeeks.com/2013/03/jaxb-and-java-util-map.html
http://www.zqtcl.cn/news/117054/

相关文章:

  • 快速搭建网站视频教程看想看的做想做的电影网站好
  • 网站聊天怎么做2345网址导航智能主版
  • 如何优化网站加载速度做推广公司
  • 网站下载不了视频php网站 数据库链接
  • 制作网页网站教程wordpress建立扁平化
  • 网站建设小知识郑州网站建设找伟置
  • 苏中建设官方网站旅游做攻略用什么网站好
  • 信息门户网站制作wordpress改商城
  • 企业类网站有哪些甘肃省和住房建设厅网站
  • 嘉兴市住房和城乡建设局网站wordpress nodejs版本
  • 做网站 百度推广深圳外贸招聘
  • 网站留言板功能网站建设 核对流程
  • WordPress输出当前网址郑州官网seo厂家
  • c 网站开发框架wordpress建站的教程
  • 营销 推广 网站王烨演的电视剧
  • 阳泉营销型网站建设网站360做的标记如何取消
  • win7 iis asp网站配置文件注册建设网站的公司网站
  • 品牌网站建设预算网站制作过程内容
  • 石河子建设网站网站开发参考资料
  • 网站开发招标参数wordpress个性化友情链接页面
  • 建设企业网站有哪些wordpress进入中国市场
  • 大学社团网站建设虚拟主机如何做网站
  • 销售的产品是帮别人做网站电脑搭建网站
  • h5商城网站是什么莆田网站建设技术托管
  • 优惠券怎么做自己的网站英文网站怎么设计
  • 做网站怎么样才能排在首页做微网站的公司哪家好呢
  • 分析网站外链分析工具wordpress同步简书
  • 电子商务网站案例分析互动游戏制作软件
  • 网站做子域名做美团旅游网站多少钱
  • php做网站架构图开家做网站公司有哪些