ColdFusion 8 Developer Tutorial
ColdFusion 8 Developer Tutorial
Adobe ColdFusion is an application server, renowned for rapid development of dynamic
websites, with a straightforward language (CFML), powerful methods for packaging and
reusing your code, and AJAX support that will get developers deep into powerful web
applications quickly.
This book is the most intense guide to creating professional ColdFusion applications
available. Packed with example code, and written in a friendly, easy-to-read style, this
book is just want you need if you are serious about ColdFusion.
This book will give you clear, concise and, of course, practical guidance to take you from
the basics of ColdFusion 8 to the skills that will make you a ColdFusion developer to be
reckoned with.
ColdFusion expert John Farrar will teach you about the basics of ColdFusion
programming, application architecture, and object reuse, before showing you a range of
topics including AJAX library integration, RESTful Web Services, PDF creation and
manipulation, and dynamically generated presentation files that will make you the toast
of your ColdFusion developer town.
This book digs deep with the basics, with real-world examples of the how and whys, to
get more done faster with ColdFusion 8.
This book also covers the new features of ColdFusion 8 Update 1
10 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2336 | Lượt tải: 0
Bạn đang xem nội dung tài liệu ColdFusion 8 Developer Tutorial, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ColdFusion 8 Developer Tutorial
John Farrar
Chapter No. 10
"CF AJAX Programming"
For More Information:
www.packtpub.com/coldfusion-8-developer-tutorial/book
In this package, you will find:
A Biography of the author of the book
A preview chapter from the book, Chapter NO.10 "CF AJAX Programming"
A synopsis of the book’s content
Information on where to buy this book
About the Author
John Farrar started working with computer programming around 1977. He has had the
opportunity to work on projects used by Apple, Blue Cross, Brunswick Recreation,
Casio, GVSU, Johnson Controls, Sprint, and many others. This history covers over 30
years of knowledge and experience in the industry.
He started doing web development over ten years ago. In the early days of the Web,
ColdFusion stood out to him not just as a way to make web pages into web applications
but as a maturing solid platform good for the developer, site owner, and end users. He
started at version 4.5 and has been enjoying every version upgrade more and more.
John owns a company called SOSensible. His company does work for large companies
but has a special focus on also making sure technology is approachable beyond the
enterprise. It has developed a number of Open Source solutions including COOP. COOP
is a mix of "Custom Tags" and "CFCs" that provides structure while keeping
development simpler. It demonstrates his love for the things that make
ColdFusion/CFML a delightful language to build websites. COOP is a pet project of his
that can allow upgrades of AJAX libraries and add in features as the libraries grow.
For More Information:
www.packtpub.com/coldfusion-8-developer-tutorial/book
He has spoken at national and regional conferences, online meetings, and area user group
meetings. He is also an Adobe User Group manager. John knows that community is a
viable and productive tool to build developers and the companies they serve. He has
learned much from great resources in the community including bloggers, books,
conferences, and resources to great in number to mention here. He blogs them at
and encourages others to
join in and build the community with him.
Contact: johnfarrar@sosensible.com
Alternative Email: sosensible@gmail.com.
Thanks to Douglas Paterson, and the many staff members of Packt
Publishing for helping me through my first published book. The guides
and interaction were a great experience that helped me in numerous
ways. There were a couple of community editors who helped review
technical content. These assistants were Sean Corfield and Rick Mason
and many of the suggestions made by them have been added to this
book and are on file towards any revisions in the future. The efforts of
the various people who work on Open Source and share their work
with the community at large should be appreciated. Several were kind
enough to work with me if there were any questions in writing this
book and it is truly appreciated.
Also thanks to the love of my life, Jeanine, who enthusiastically
motivated me to see the book through to completion.
For More Information:
www.packtpub.com/coldfusion-8-developer-tutorial/book
ColdFusion 8 Developer Tutorial
Adobe ColdFusion is an application server, renowned for rapid development of dynamic
websites, with a straightforward language (CFML), powerful methods for packaging and
reusing your code, and AJAX support that will get developers deep into powerful web
applications quickly.
This book is the most intense guide to creating professional ColdFusion applications
available. Packed with example code, and written in a friendly, easy-to-read style, this
book is just want you need if you are serious about ColdFusion.
This book will give you clear, concise and, of course, practical guidance to take you from
the basics of ColdFusion 8 to the skills that will make you a ColdFusion developer to be
reckoned with.
ColdFusion expert John Farrar will teach you about the basics of ColdFusion
programming, application architecture, and object reuse, before showing you a range of
topics including AJAX library integration, RESTful Web Services, PDF creation and
manipulation, and dynamically generated presentation files that will make you the toast
of your ColdFusion developer town.
This book digs deep with the basics, with real-world examples of the how and whys, to
get more done faster with ColdFusion 8.
This book also covers the new features of ColdFusion 8 Update 1.
What This Book Covers
Chapter 1 describes how to enhance basic HTML pages with the power and simplicity of
ColdFusion. It also explains the difference between static HTML pages and dynamic
ColdFusion pages.
Chapter 2 describes how to create object classes and instantiate object instances. It also
describes the object constructors. This chapter explains how to connect to a database
through the internal methods of our objects.
Chapter 3 helps us in understanding how to manage multiple products through common
forms for listing, editing, and adding data. This chapter explains integrating and
streamlining the workflow of web forms and CFC database processing.
In Chapter 4, we will learn how to use the web server memory to create engaging and
interactive web applications by using variable scopes. We will also learn how to share
some information, and how to protect the rest of the information in a controlled manner.
For More Information:
www.packtpub.com/coldfusion-8-developer-tutorial/book
In Chapter 5, we will learn about the basics of custom tags. We will also learn how to
integrate cfinclude for libraries of segments. This chapter also includes skinning a
website by using custom tags, the use of nested tags, and so on.
Chapter 6 includes wrapping of the ThickBox gallery functions into a custom tag for
simple functional reuse and wrapping of a Google map library into our code with a
custom tag for simplified interactive maps. This chapter helps us in understanding how to
create a multi-state form list wrapped in a custom tag.
In Chapter 7, we will see how to use the authentication that comes standard with CF.
This chapter explains how to control the site content based on current user permissions.
In Chapter 8, we will see how AJAX is different from HTML and regular server-oriented
web pages. This chapter includes the comparison of HTML, server, and browser
technology sites. It also explains about the ColdFusion widgets.
In Chapter 9, we will see the benefit received from the combined power of tag-based
encapsulation with AJAX functionality.
Chapter 10 explains about binding, proxy connections, JSON features, Spry data
integration, and debugging.
In Chapter 11, we will have a look at the different ways in which we can reorganize
pages of PDF documents into a new PDF file from one or more separate PDF
source documents.
Chapter 12 explains how to create Verity search collections, how to initialize the Verity
indexes, how to interface with the indexes. This chapter also explains how to interface
with PDF content for more control when calling documents.
Chapter 13 discusses files, emails, and images. This chapter helps in understanding how
some of the common ColdFusion features empower developers to shift the web pages to
web applications in many ways.
In Chapter 14, we will learn how to interact with other web servers and create features on
our site that will allow others to interact with us.
Chapter 15 gives a broad introduction to ColdFusion's way of generating dynamic
reports. This chapter also gives a brief introduction to the ColdFusion Report
Builder tool.
Chapter 16 shows the unique presentation capabilities built into ColdFusion. It gives
practical examples to help build custom presentations with dynamic content on demand.
Appendix A covers some important details of setting up a development environment. It
also includes some important tips for better productivity.
Appendix B includes some links and resources that are aimed at giving us a good starting
base of information. It also explains a group of libaries that prove to be very significant.
For More Information:
www.packtpub.com/coldfusion-8-developer-tutorial/book
CF AJAX Programming
This chapter deals with AJAX programming in ColdFusion. ColdFusion acts a great
platform not just because of its code features, but because of its characteristics as
to how the code interacts with other features. ColdFusion is a language with depth
and power. Yet, as we developers know, it seems real power always requires a bit of
custom code. In this chapter, we will have a look at the following topics:
Binding
Proxy connections
JSON features
Spry data integration
Debugging
Binding
When it comes to programming, the two most commonly used features are
CFAJAXProxy and binding. The binding feature allows us to bind or tie things
together by using a simpler technique than we would otherwise have needed
to create. Binding acts as a double-ended connector in some scenarios. You can
set the bind to pull data from another ColdFusion tag on the form. These must be
AJAX tags with binding abilities.
There are four forms of bindings, on page, CFC, JavaScript, and URL. Let's work
through each style so that we will understand them well. We will start with on page
binding. Remember that the tag has to support the binding. This is not a general
ColdFusion feature, but we can use it wherever we desire.
•
•
•
•
•
For More Information:
www.packtpub.com/coldfusion-8-developer-tutorial/book
CF AJAX Programming
[ 200 ]
On Page Binding
We are going to bind 'cfdiv' to pull its content to show on page binding. We will set
the value of a text input to the div. Refer to the following code. ColdFusion AJAX
elements work in a manner different from how AJAX is written traditionally. It is
more customary to name our browser-side HTML elements with id attributes. This
is not the case with the binding features. As we can see in our code example, we
have used the name attribute. We should remember to be case sensitive, since this is
managed by JavaScript. When we run the code, we will notice that we must leave the
input fi eld before the browser registers that there has been a change in the value of
the fi eld. This is how the event model for the browser DOM works.
This is my edit box.
And this is the bound div container.
Notice how we use curly brackets to bind the value of the 'myText' input box. This
inserts the contents into 'div' when the text box loses focus.
This is an example of binding to in-page elements. If the binding we use is tied to a
hidden window or tab, then the contents may not be updated.
CFC Binding
No w, we are going to bind our div to a CFC method. We will take the data that was
being posted directly to the object, and then we will pass it out to the CFC. The CFC
is going to repackage it, and send it back to the browser. The binding will enable the
modifi ed version of the content to be sent to the div. Refer to the following
CFC code:
For More Information:
www.packtpub.com/coldfusion-8-developer-tutorial/book
Chapter 10
[ 201 ]
<cffunction name="getDivContent" returntype="string"
access="remote">
<cfreturn "This is the content returned from the CFC for
the div, the calling page variable is '#arguments.edit#</
strong>'.">
From the previous code, we can see that the CFC only accepts the argument
and passes it back. This could have even returned an image HTML segment
with something like a user picture. The following code shows the new page
code modifi cations.
This is my edit box.
And this is the bound div container.
The only change lies in how we bind the cfdiv element tag. Here, you can see that
it starts with CFC. Next, it calls bindsource, which is the name of a local CFC. This
tells ColdFusion to wire up the browser page, so it will connect to the CFC and
things will work as we want. You can observe that inside the method, we are passing
the bound variable to the method. When the input fi eld changes by losing focus, the
browser sends a new request to the CFC and updates the div. We need to have the
same number of parameters going to the CFC as the number of arguments in our
CFC method. We should also make sure that the method has its access method set to
remote. Here we can see an example results page.
For More Information:
www.packtpub.com/coldfusion-8-developer-tutorial/book
CF AJAX Programming
[ 202 ]
It i s valid to pass the name of the CFC method argument with the data value. This
can prevent exceptions caused by not pairing the data in the same order as the
method arguments. The last line of the previous code can be modifi ed as follows:
JavaScript Binding
Now, we will see how simple power can be managed on the browser. We will create
a standard JavaScript function and pass the same bound data fi eld through the
function. Whenever we update the text box and it looses focus, the contents of the
div will be updated from the function on the page. It is suggested that we include all
JavaScript rather than put it directly on the page. Refer to the following code:
This is my edit box.
And this is the bound div container.
updateDiv = function(myEdit){
return 'This is the result that came from the JavaScript function
with the edit box sending "'+myEdit+'"';
}
Here is the result of placing the same text into our JavaScript example.
For More Information:
www.packtpub.com/coldfusion-8-developer-tutorial/book
Chapter 10
[ 203 ]
URL Binding
We can achieve the same results by calling a web address. We can actually call a
static HTML page. Now, we will call a .cfm page to see the results of changing the
text box refl ected back, as for CFC and JavaScript. Here is the code for our main page
with the URL binding.
This is my edit box.
And this is the bound div container.
In the above code, we can see that the binding type is set to URL. Earlier, we used
the CFC method bound to a fi le named bindsource.cfc. Now, we will bind through
the URL to a .cfm fi le. The bound myText data will work in a manner similar to the
other cases. It will be sent to the target; in this case, it is a regular server-side page.
We require only one line. In this example, our variables are URL variables. Here is
the handler page code:
'This is the result that came from the server page with the edit
box sending "#url.myEdit#"'
Các file đính kèm theo tài liệu này:
- ColdFusion 8 Developer Tutorial.pdf