- 浏览: 811866 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
107x:
不错,谢谢!
log4j.properties配置详解 -
gzklyzf:
为啥我解析的PDF文档没有作者、文章题目等信息啊,下面是我的代 ...
Apache Lucene Tika 文件内容提取工具 -
mervyn1024:
解压密码是啥
ictclas4j调整 -
百卉含英:
如果我的文件输出路径是这个log4j.appender.Fil ...
log4j.properties配置详解 -
lxhxklyy:
mark……
log4j.properties配置详解
package castortest;
public class FlightBean {
private String m_carrier;
private int m_number;
private String m_departure;
private String m_arrival;
public FlightBean() {
}
public void setCarrier(String carrier) {
m_carrier = carrier;
}
public String getCarrier() {
return m_carrier;
}
public void setNumber(int number) {
m_number = number;
}
public int getNumber() {
return m_number;
}
public void setDepartureTime(String time) {
m_departure = time;
}
public String getDepartureTime() {
return m_departure;
}
public void setArrivalTime(String time) {
m_arrival = time;
}
public String getArrivalTime() {
return m_arrival;
}
}
package castortest;
import java.util.ArrayList;
public class Routebean {
private String m_from;
private String m_to;
private ArrayList m_flights;
public Routebean() {
m_flights = new ArrayList();
}
public void setFrom(String from) {
m_from = from;
}
public String getFrom() {
return m_from;
}
public void setTo(String to) {
m_to = to;
}
public String getTo() {
return m_to;
}
public ArrayList getFlights() {
return m_flights;
}
public void addFlight(FlightBean flight) {
m_flights.add(flight);
}
}
package castortest;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.Reader;
import java.io.Writer;
import org.exolab.castor.xml.Marshaller;
import org.exolab.castor.xml.Unmarshaller;
public class RouteBeanTest2 {
public static void main(String[] argv) {
// build a test bean
//
FlightBean bean1 = new FlightBean();
bean1.setCarrier("AR1");
bean1.setNumber(426);
bean1.setDepartureTime("6:23a1");
bean1.setArrivalTime("8:42a1");
//
FlightBean bean2 = new FlightBean();
bean2.setCarrier("AR2");
bean2.setNumber(426);
bean2.setDepartureTime("6:23a2");
bean2.setArrivalTime("8:42a2");
//
Routebean bean = new Routebean();
bean.setFrom("from");
bean.setTo("to");
bean.addFlight(bean1);
bean.addFlight(bean2);
try {
// write it out as XML (if not already present)
File file = new File("test.xml");
Writer writer = new FileWriter(file);
Marshaller.marshal(bean, writer);
// Marshaller marshaller = new Marshaller(writer);
// marshaller.marshal(bean, writer);
//
// now restore the value and list what we get
Reader reader = new FileReader(file);
Routebean read = (Routebean) Unmarshaller.unmarshal(
Routebean.class, reader);
FlightBean read1 = (FlightBean) read.getFlights().get(0);
FlightBean read2 = (FlightBean) read.getFlights().get(1);
System.out.println("Flight " + read1.getCarrier()
+ read1.getNumber() + " departing at "
+ read1.getDepartureTime() + " and arriving at "
+ read1.getArrivalTime());
System.out.println("Flight " + read2.getCarrier()
+ read2.getNumber() + " departing at "
+ read2.getDepartureTime() + " and arriving at "
+ read2.getArrivalTime());
System.out.println(read.getFrom());
System.out.println(read.getTo());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
<?xml version="1.0" encoding="UTF-8" ?>
- <routebean>
- <flights xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://java.sun.com" number="426" xsi:type="java:castortest.FlightBean">
<arrival-time>8:42a1</arrival-time>
<departure-time>6:23a1</departure-time>
<carrier>AR1</carrier>
</flights>
- <flights xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://java.sun.com" number="426" xsi:type="java:castortest.FlightBean">
<arrival-time>8:42a2</arrival-time>
<departure-time>6:23a2</departure-time>
<carrier>AR2</carrier>
</flights>
<to>to</to>
<from>from</from>
</routebean>
生成这样的xml,flex是否可以解析?
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()" xmlns:shared="components.shared.*" height="100%">
<mx:Metadata>
[Event(name = "totalIDListClickEvent", type = "classes.TotalIDListClickEvent")]
</mx:Metadata>
<mx:Script>
<![CDATA[
//import classes.xmlSocket;
import mx.rpc.events.FaultEvent;
//import classes.SelectedPageChangeEvent;
//import classes.TotalIDListClickEvent;
import mx.events.ListEvent;
import mx.events.ModuleEvent;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
//import classes.PageNames;
import flash.net.XMLSocket;
import mx.managers.CursorManager;
private var socket:flash.net.XMLSocket = new flash.net.XMLSocket();
//---------------------------------------------------------------//
//
//---------------------------------------------------------------//
// Stores the returned XML data for ID list.
[Bindable] private var _receivedIDList: ArrayCollection;
// Clicked initial letter
[Bindable] private var _selectedInitialLetter: String;
// Total page number
[Bindable] private var _totalPageNum: Number;
// from and to
[Bindable] private var _from: String;
[Bindable] private var _to: String;
// Selected page
[Bindable] private var _selectedPage: Number = 1;
//---------------------------------------------------------------//
//
//---------------------------------------------------------------//
//---------------------------------------------------------------//
//---------------------------------------------------------------//
private function init(): void
{
_selectedInitialLetter = "A";
httpTotalIDList.cancel();
httpTotalIDList.send();
}
//---------------------------------------------------------------//
private function idInitialLetterClicked(evt: Event): void
{
//Alert.show(evt.target.label, "Info");
_selectedInitialLetter = evt.target.label;
httpTotalIDList.cancel();
httpTotalIDList.send();
}
//---------------------------------------------------------------//
/*
private function idListClicked(evt: ListEvent): void
{
//Alert.show(evt.target.selectedItem.string, "Info");
var evtObj: TotalIDListClickEvent =
new TotalIDListClickEvent(TotalIDListClickEvent.TOTAL_ID_LIST_CLICK_EVENT,
evt.target.selectedItem.string);
dispatchEvent(evtObj);
}
*/
//---------------------------------------------------------------//
private function getHTTPResult_TotalIDList(evt: ResultEvent): void
{
try
{
_receivedIDList = evt.result.routebean.flights;
}
catch(err: TypeError)
{
var tempList: ArrayCollection = new ArrayCollection();
tempList.addItem(evt.result.root.searchResult);
_receivedIDList = tempList;
}
_from = evt.result.routebean.from;
Alert.show("from is " + _from, "信息");
_to = evt.result.routebean.to;
Alert.show("to is " + _to, "信息");
if(this._totalPageNum==1||this._totalPageNum==0)
{
btnToForword.enabled=false;
btnToLatter.enabled=false;
}else {
if(this.combPageNums.selectedIndex == 0 || this.combPageNums.selectedIndex==-1)
{
btnToForword.enabled=false;
}else {
btnToForword.enabled=true;
}
if(this.combPageNums.selectedIndex == this._totalPageNum-1)
{
btnToLatter.enabled=false;
}else{
btnToLatter.enabled=true;
}
if(this.combPageNums.selectedIndex != 0&&
this.combPageNums.selectedIndex != -1&&
this.combPageNums.selectedIndex != this._totalPageNum-1)
{
btnToForword.enabled=true;
btnToLatter.enabled=true;
}
}
var i: Number;
pagesInComboBox.removeAll();
for(i = 1; i < _totalPageNum + 1; i ++)
{
pagesInComboBox.addItem(i.toString());
}
combPageNums.selectedIndex = _selectedPage - 1;
if(_receivedIDList == null)
{
//Alert.show("没有找到以" + _selectedInitialLetter + "开头的ID", "信息");
return;
}
}
//---------------------------------------------------------------//
private function handleHTTPFault(evt: FaultEvent): void
{
Alert.show("在获取ID列表时发生了错误:" + "\n" + evt.message, "错误");
}
private function selectedPageChanged(): void
{
_selectedPage = combPageNums.selectedIndex + 1;
httpTotalIDList.cancel();
httpTotalIDList.send();
}
[Bindable] private var pagesInComboBox: ArrayCollection = new ArrayCollection();
[Bindable] private var Forword:String = "<<";
[Bindable] private var Latter:String = ">>";
private function goToForword():void
{
this.combPageNums.selectedIndex -= 1;
selectedPageChanged();
}
private function goToLatter():void
{
this.combPageNums.selectedIndex +=1;
selectedPageChanged();
}
]]>
</mx:Script>
<mx:ArrayCollection id="alphabetHead">
<mx:String>A</mx:String>
<mx:String>B</mx:String>
<mx:String>C</mx:String>
<mx:String>D</mx:String>
<mx:String>E</mx:String>
<mx:String>F</mx:String>
<mx:String>G</mx:String>
<mx:String>H</mx:String>
<mx:String>I</mx:String>
<mx:String>J</mx:String>
<mx:String>K</mx:String>
<mx:String>L</mx:String>
<mx:String>M</mx:String>
</mx:ArrayCollection>
<mx:ArrayCollection id="alphabetEnd">
<mx:String>N</mx:String>
<mx:String>O</mx:String>
<mx:String>P</mx:String>
<mx:String>Q</mx:String>
<mx:String>R</mx:String>
<mx:String>S</mx:String>
<mx:String>T</mx:String>
<mx:String>U</mx:String>
<mx:String>V</mx:String>
<mx:String>W</mx:String>
<mx:String>X</mx:String>
<mx:String>Y</mx:String>
<mx:String>Z</mx:String>
</mx:ArrayCollection>
<!--mx:HTTPService id="httpTotalIDList" method="GET" result="getHTTPResult_TotalIDList(event)" fault="handleHTTPFault(event)" url="{PageNames.siteRoot}{PageNames.IDListPageName}">
<mx:request xmlns="">
<turnToPage>{_selectedPage}</turnToPage>
<head>{_selectedInitialLetter}</head>
<protocolType>0</protocolType>
<format>{"xml"}</format>
</mx:request>
</mx:HTTPService-->
<!--mx:HTTPService id="httpTotalIDList" method="GET" result="getHTTPResult_TotalIDList(event)" fault="handleHTTPFault(event)" url="http://127.0.0.1:8080/test.xml">
<mx:request xmlns="">
<turnToPage>{_selectedPage}</turnToPage>
<head>{_selectedInitialLetter}</head>
<protocolType>0</protocolType>
<format>{"xml"}</format>
</mx:request>
</mx:HTTPService-->
<mx:HTTPService id="httpTotalIDList" method="GET" result="getHTTPResult_TotalIDList(event)" fault="handleHTTPFault(event)" url="file:///C:/test.xml">
<mx:request xmlns="">
<turnToPage>{_selectedPage}</turnToPage>
<head>{_selectedInitialLetter}</head>
<protocolType>0</protocolType>
<format>{"xml"}</format>
</mx:request>
</mx:HTTPService>
<mx:VBox height="100%">
<mx:HBox>
<mx:VBox height="100%">
<mx:Repeater id="alphabetRepeaterH" dataProvider="{alphabetHead}">
<mx:LinkButton id="alphabetSelectorH" label="{alphabetRepeaterH.currentItem}" click="idInitialLetterClicked(event)"/>
</mx:Repeater>
</mx:VBox>
<mx:VBox height="100%">
<mx:Repeater id="alphabetRepeaterE" dataProvider="{alphabetEnd}">
<mx:LinkButton id="alphabetSelectorE" label="{alphabetRepeaterE.currentItem}" click="idInitialLetterClicked(event)"/>
</mx:Repeater>
</mx:VBox>
</mx:HBox>
</mx:VBox>
<mx:VBox width="100%" height="100%">
<mx:DataGrid id="idList" dataProvider="{_receivedIDList}" dragEnabled="true" width="100%" height="100%" buttonMode="true" useHandCursor="true">
<mx:columns>
<mx:DataGridColumn dataField="arrival-time" headerText="flights"/>
<mx:DataGridColumn dataField="departure-time" headerText="flights"/>
<mx:DataGridColumn dataField="carrier" headerText="flights"/>
</mx:columns>
</mx:DataGrid>
<mx:HBox width="50%">
<mx:Label id="lableTotalPages" text="{'共'}{_totalPageNum}{'页'}"/>
<mx:Button id="btnToForword" label="{Forword}" click="goToForword()" toolTip="前一页" enabled="false" width="1%" buttonMode="true" useHandCursor="true" />
<mx:ComboBox id="combPageNums" dataProvider="{pagesInComboBox}" change="selectedPageChanged()" textAlign="center" width="55" openDuration="100" closeDuration="100" buttonMode="true" useHandCursor="true"/>
<mx:Button id="btnToLatter" label="{Latter}" click="goToLatter()" toolTip="后一页" enabled="false" width="1%" buttonMode="true" useHandCursor="true"/>
</mx:HBox>
</mx:VBox>
</mx:Application>
发表评论
-
RegExr
2010-03-10 11:17 4232今天推荐一款基于Flex的 ... -
mxml布局
2009-04-23 21:18 2041上面是效果图。 下面是代码。 <?xml ... -
Flex代码格式化插件
2009-04-23 17:08 1391如果你还在为官方Flex Builder不能够将代码有效的格式 ... -
Flex的xml解析
2009-04-22 22:42 4173下面是castor转换javabean得到的一个xml文件。 ... -
Flex的Socket
2009-04-10 12:03 5024以前提到Flex建立Socket的时候要收发一套安全内容,当时 ... -
Flex登录
2009-04-08 15:30 3168Flex登录,判断用户名密码正确之后应该有一个转向动作。 ... -
Java与Flex通信
2009-04-08 13:26 4055Flex连接Java Server 首先向Server发送了 ... -
Flex:登录
2009-04-01 17:09 3033第一个Flex程序。 一直害怕Javascript。现在准备 ...
相关推荐
### Flex与Java通过实体传递数据 #### 背景介绍 在现代Web应用开发中,前端与后端之间的数据交互是必不可少的一部分。Flex作为一种流行的富客户端技术,常用于构建复杂的用户界面;而Java则因其强大的服务器端处理...
下面我们将深入探讨如何实现JSP与Flex的整合,并着重讲解整合的关键点——`web.xml`配置文件以及`flex.xml`的作用。 **一、JSP与Flex的基本概念** 1. **JavaServer Pages (JSP)**:JSP是Java的一个标准技术,用于...
由于 BlazeDS 需要将 Java 接口 FlexService 暴露给 Flex 前端,因此,我们在配置文件 remoting-config.xml 中将 FlexService 接口声明为一个服务: 清单 6. 定义 flexService 服务 <destination id="flex...
1. **项目结构**:可能有Flex客户端的源代码(.mxml和.as文件)、Java服务器端的类(.java文件)、配置文件(如 BlazeDS 的 services-config.xml 和 flex-servlet.xml)以及可能的数据模型(如JavaBean)。...
由于 BlazeDS 需要将 Java 接口 FlexService 暴露给 Flex 前端,因此,我们在配置文件 remoting-config.xml 中将 FlexService 接口声明为一个服务: 清单 6. 定义 flexService 服务 <destination id="flex...
当在Java项目中有一个`save(User user)`方法,接收一个User类型的JavaBean作为参数时,要在Flex端调用此方法,我们需要在ActionScript中创建一个与Java User类属性和方法对应的User类。这样做是为了确保数据在Flex和...
2. **定义数据格式**:Flex可以通过AMF(Action Message Format)或XML/JSON与服务器交换数据。AMF是Adobe专有的高效二进制格式,适合Flex和Java之间的数据传输。如果选择XML或JSON,需要在JSP中进行相应的解析。 3...
6. 配置Flex项目,将BlazeDS的客户端库文件导入到Flex项目中,并在remoting-config.xml文件中配置服务器端点(endpoints),以便Flex应用能够调用Java后端服务。 7. 创建和部署Java Web项目。在这个项目中,开发者...
- 正确配置BlazeDS的`flex-servlet.xml`和`services-config.xml`以暴露需要的服务。 - 为避免安全问题,需考虑对AMF通信进行加密和身份验证。 综上所述,Flex和SSH的整合提供了强大的前后端开发能力,使得开发...
1. **数据交换格式**: J2EE与Flex之间的通信通常依赖于HTTP协议,使用AMF(Action Message Format)或XML/JSON作为数据交换格式。AMF是Adobe提供的二进制格式,具有更高的传输效率和更快的解析速度,适合大数据量的...
为了让Flex客户端能够调用服务端的Java类,我们需要在`WEB-INF/flex/remoting-config.xml`中配置类映射。这里,我们需要定义`UserService`的destination,为其指定ID,以便在客户端代码中引用。 在完成服务端的配置...
通过AMF,Flex可以与Java中的JavaBean、EJB或Spring Bean进行无缝交互,极大地提高了性能和响应速度。 2. **Remoting**: LCDS支持Remoting,使得Flex可以像调用本地方法一样调用远程Java方法。开发者无需关心网络...
3. **commons-beanutils-1.7.jar**:Apache Commons BeanUtils库简化了JavaBean属性的访问,它可以帮助将JSON对象映射到JavaBean,反之亦然。 4. **json-lib-2.2.2-jdk15.jar**:这是JSON库的一个实现,它为Java...
Ajax则是异步JavaScript和XML的缩写,它允许部分网页更新,无需刷新整个页面,提升了用户体验。 1. **JavaEE**:JavaEE平台提供了多种服务,如JNDI(Java命名和目录接口)用于查找资源,EJB(企业JavaBean)用于...
- `User`类定义了一个简单的JavaBean,用于表示从数据库中读取的用户信息。 - 包含一个`name`属性,以及对应的getter和setter方法。 ##### 2. UserDao.java ```java package org.rjb.java; import java.sql....
- AJAX(Asynchronous JavaScript and XML):提升用户体验,实现页面无刷新的数据交换。 - MVC(Model-View-Controller)模式:分离业务逻辑、数据和显示,便于维护和扩展。 6. 系统优势: - 网络化管理:突破...
- Flex、Jxl、JFreeChart:Flex用于富客户端应用,Jxl处理Excel数据,JFreeChart生成图表。 2. **数据库技术**: - SQL:熟练使用T-SQL,能进行数据库开发,熟悉SQLServer,同时了解MySQL。 - Oracle:使用...
- **EJB**: 企业级JavaBean,是一种服务器端组件模型,主要用于构建企业级应用。 - 包括会话Bean、实体Bean和消息驱动Bean等。 - EJB 3.0版本引入了更加简洁的编程模型,简化了开发过程。 #### 十一、Struts 1 和...
7. **其他技术**:求职者能熟练应用Spring的AOP和IOC,了解EJB和WebService技术,掌握XML、Flex、UML图、CVS、SVN、Log4j、JavaScript和Ajax,显示了其广泛的技术覆盖。 8. **VB与VF**:求职者对VB和Visual FoxPro...