Thursday, July 13, 2006

 

AjaxAnywhere

1. Put the ajaxanywhere-1.2-RC2.jar
in WEB-INF/lib folder. The ajaxanywhere.tld is included in the JAR. The
TLD file tells the JSP/JSF framework where to look for uri http://ajaxanywhere.sourceforge.net/.

2. Modify web.xml, including
following lines in front of filters currently defined in the file:

  <filter>
<filter-name>AjaxAnywhere</filter-name>
<filter-class>org.ajaxanywhere.AAFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>AjaxAnywhere</filter-name>
<url-pattern>*.jsf</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>AjaxAnywhere</filter-name>
<url-pattern>*.do</url-pattern> <!-- default Struts mapping -->
</filter-mapping>

<filter-mapping>
<filter-name>AjaxAnywhere</filter-name>
<url-pattern>*.htm</url-pattern> <!-- other framewords mapping-->
</filter-mapping>

3. Download the demo ajaxAnywhereDemo-1.2-RC1.war package. Use jar to
extract the PostingStep1Form.java and put it
in your JSF project

4. Modify the faces-global.xml to include one bean defination:

  <managed-bean>  
<managed-bean-name>postingStep1Form</managed-bean-name>
<managed-bean-class>com.compan.demo.PostingStep1Form</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>

5. On your JSF page, add following lines as highlighted:

<?xml version="1.0"?>
<jsp:root version="2.0"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:aa="http://ajaxanywhere.sourceforge.net/" />

<jsp:directive.page contentType="text/html"/>

... ...
<f:verbatim><![CDATA[

<script src="aa.js"></script>
<script>
ajaxAnywhere.formName="main";
</script>

]]> </f:verbatim>

<h:outputText value="AjaxAnywhere JSF Testing"/>

<aa:zoneJSF id="letterst">
<h:selectOneListbox styleClass="selectListBoxStyle"
size="10"
value="#{postingStep1Form.selectedCategoryId1}"
valueChangeListener="#{postingStep1Form.onSelectCategoryValueChange1}"
id="categoryId1"
onchange="ajaxAnywhere.submitAJAX();"
required="true">
<f:selectItems value="#{postingStep1Form.categorySelectItems1}" id="categorySelectItem1"/>
</h:selectOneListbox>
</aa:zoneJSF>

<aa:zoneJSF id="categoryList">
<h:selectOneListbox styleClass="selectListBoxStyle"
size="10"
value="#{postingStep1Form.selectedCategoryId2}"
id="categoryId2"
disabled="true"
required="false">
<f:selectItems value="#{postingStep1Form.categorySelectItems2}" id="categorySelectItem2"/>
</h:selectOneListbox>
</aa:zoneJSF>

<f:verbatim>
&lt;span id=cnt&gt;0</span&gt; seconds since last page refresh.
<script>
var sec=100;
function counter(){
setTimeout("counter();",1000); document.getElementById("cnt").innerHTML = sec++;
}
counter();
</script>
</f:verbatim>

</jsp:root>


Wednesday, July 12, 2006

 

Add raw HTML tags on JSF page

Can you put the HTML <div> tag around the JSF tag as below?

<div>
<f:outputText value="Hello, the world!"/>
</div>


Apprently above code won't work. To add raw HTML tags on the JSF page, you need to include the escaped HTML page in the <f:verbatim> JSF tag.


<f:verbatim>&lt;div&gt;</f:verbatim>
<f:outputText value="Hello, the world!"/>
<f:verbatim>&lt;/div&gt;</f:verbatim>

Wednesday, April 06, 2005

 

Boot Redhat RHEL 4 AS from USB Hard Drive

This document are totally based on the reference from http://simonf.com/usb/ and http://www.benusa.com/linux/boot.htm . Without Simon Ilyushchenko and Allen Benusa, I won't be able to make RedHat RHEL 4 bootable from external USB Drive.

Keyword: USB EXTERNAL REDHAT LINUX RHEL BOOT INITRD INSTALL

1. Install RedHat RHEL 4 AS to the USB Hard Drive



Boot RHEL4 Installation CD, enter "expert". Partition your USB Hard drive manually. In my case, I created 1GB /dev/sda1 mounted as /boot and /dev/sda5 mounted as / (root), I also have /dev/sda7 SWAP partition.

After installation, boot from the RHEL4 Installation CD again, type "linux rescue", don't let the installer mount the USB hard drive partitions.

2. Mount partitions


mount /dev/sda5 /mnt/source
mount /dev/sda1 /mnt/source/boot
chroot /mnt/source

3. Restore initrd image


cp /boot/initrd-2.6.9-5.EL.img /tmp/initrd.gz
cd /tmp
gunzip initrd.gz

mkdir /tmp/a
cd /tmp/a
cpio -i < /tmp/initrd
(Output: 2078 blocks)

4. Edit init script to load USB drivers


vi /tmp/a/init

#!/bin/nash
mount -t proc /proc /proc
setquiet
echo Mounted /proc filesystem
echo Mounting sysfs
mount -t sysfs none /sys
echo Creating /dev
mount -o mode=0755 -t tmpfs none /dev
mknod /dev/console c 5 1
mknod /dev/null c 1 3
mknod /dev/zero c 1 5
mkdir /dev/pts
mkdir /dev/shm
echo Starting udev
/sbin/udevstart
echo -n "/sbin/hotplug" > /proc/sys/kernel/hotplug
echo "Loading scsi_mod.ko module"
insmod /lib/scsi_mod.ko
echo "Loading sd_mod.ko module"
insmod /lib/sd_mod.ko
echo "Loading libata.ko module"
insmod /lib/libata.ko
echo "Loading ata_piix.ko module"
insmod /lib/ata_piix.ko
echo "Loading jbd.ko module"
insmod /lib/jbd.ko
echo "Loading ext3.ko module"
insmod /lib/ext3.ko


######################################
echo "*** Loading usb-storage ***"
insmod /lib/usb-storage.ko
echo "*** Loading usb-uhci ***"
insmod /lib/ehci-hcd.ko
echo "*** Sleeping 5 seconds ***"
/bin/sleep 5


/sbin/udevstart
echo Creating root device
mkrootdev /dev/root


echo "*** Reread partition table ***"
/sbin/sfdisk -R /dev/sda


umount /sys
echo Mounting root filesystem
mount -o defaults --ro -t ext3 /dev/root /sysroot
mount -t tmpfs --bind /dev /sysroot/dev
echo Switching to new root
switchroot /sysroot
umount /initrd/dev

5. Copy USB drivers



cd /lib/modules/2.6.9-5.EL/kernel/drivers
cp usb/host/ehci-hcd.ko /tmp/a/lib
cp usb/storage/usb-storage.ko /tmp/a/lib
cp scsi/scsi_mod.ko /tmp/a/lib
cp scsi/sd_mod.ko /tmp/a/lib

6. Copy executables and dependent libraries



ldd /bin/sleep
ldd /sbin/sfdisk
cp /lib/tls/libm.so.6 /lib/tls/librt.so.1 /lib/tls/libc.so.6 /lib/tls/libpthread.so.0 /tmp/a/lib/tls
cp /lib/ld-linux.so.2 /tmp/a/lib/
cp /bin/sleep /sbin/sfdisk /tmp/a/bin/

7. Re-Make the init image


cd /tmp/a
find . | cpio -c -o | gzip -9 > /boot/usbinitrd.img
(output: 6077 blocks)

8. Edit grub.conf to boot from the new usbinitrd.img


vi /boot/grub/grub.conf

Reboot your system, Modify your BIOS to make USB Drive boot first, Enjoy!

Questions?


Email me: liulijian@gmail.com

Lijian Liu,
Sendmail, Inc.



Site Meter