json dan xml

JSON (JavaScript Object Notation) adalah basis teks yang ringan dan di design untuk pertukaran data dan mudah untuk dibaca oleh manusia. JSON berasal dari bahasa pemrograman JavaScript yang mempresentasikan struktur data sederhana dan array yang disebut objek. JSON merupakan format teks yang benar-benar bahasa independen tetapi menggunakan konvensi yang familiar bagi programmer selain java.
Internet Media type untuk JSON adalah application/json, sedangkan nama ekstensinya adalah .json .

Contoh json:

"item": 
     {
         "id":ff2392mf229200001
         "code": "3002",
         "name": "Gallardo",
         "description":-
     }

 

XML (Extensible Markup Language) adalah bahasa markup yang didesain untuk mampu menyimpan data secara ringkas dan mudah di atur. Internet Media Type untuk XML adalah application/xhtml+xml dan ber ekstensi .xml.  
Perbedaan JSON dan XML terletak pada ukuran filenya, dimana ukuran file XML lebih besar sekitar 30% dari JSON, tetapi jika menggunakan attribute ukuran file antara JSON dan XML hampir sama

contoh xml menggunakan element:

<items>
   <code>457</code>
   <description>-</description>
   <id>4028818d29e72e9d0129e73135000001</id>
   <name>Gallardo</name>
   <price>3000</price>
</items>

 

contoh xml menggunakan attribute :

<items>
    <item 
        code="12" 
        description="-"
        id="4028818f29bf477d0129bf4a6dd90001"
        name="Nokia1600"
        price="900000"
    />
</items>

html5 video+css (chrome)

Berikut adalah bentuk video yang tak biasa @.@. Silahkan mencoba ?..

  • tag video
    <video id="video-css">
    
        <source src="video.mp4" type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;">
    
      </video>
  • css style
    #video-css {
    
      -moz-transition: all 0.3s ease-out;  /* FF3.7+ */
    
      -o-transition: all 0.3s ease-out;  /* Opera 10.5 */
    
      -webkit-transition: all 0.3s ease-out;  /* Saf3.2+, Chrome */ 
    
    }
    
    #video-css.enhanced {
    
      border: 1px solid white;
    
      
    
      -moz-box-shadow: 0px 0px 4px #ffffff; /* FF3.5+ */
    
      -webkit-box-shadow: 5px 44px 28px #333; /* Saf3.0+, Chrome */
    
      box-shadow: 0px 0px 4px #ffffff; /* Opera 10.5, IE 9.0 */
    
      -moz-transform: translate(0, -10px);  /* FF3.5+ */
    
      -o-transform: translate(0, -10px);  /* Opera 10.5 */
    
      -webkit-transform: translate(0, -10px);  /* Saf3.1+, Chrome */ 
    
    }
  • javascript / eventlistener
    <script>
    
        (function() {
    
          var video_css = document.querySelector('#video-css');
    
          video_css.addEventListener('mouseover', function() {
    
            this.className = 'enhanced';
    
            this.play();
    
          }, false);
    
          video_css.addEventListener('mouseout', function() {
    
        this.pause();
    
            this.className = '';
    
          }, false);
    
        }
    
      )();    
    
      </script>

 

Good Luck :)

hibernate configuration in spring mvc

Berikut adalah konfigurasi hibernate pada spring mvc versi annotaion:

  • applicationContext.xml
    <?xml version="1.0" encoding="UTF-8"?>
    
    <beans xmlns="http://www.springframework.org/schema/beans"
    
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    
           xmlns:context="http://www.springframework.org/schema/context"
    
           xmlns:tx="http://www.springframework.org/schema/tx"
    
           xmlns:p="http://www.springframework.org/schema/p"
    
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
    
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
    
      
    
      <context:property-placeholder location="classpath:hsa.properties" />
    
        
    
        <bean id="dataSource"
    
            class="org.springframework.jdbc.datasource.DriverManagerDataSource"
    
            p:driverClassName="${hibernate.connection.driver_class}"
    
            p:url="${hibernate.connection.url}"
    
            p:username="${hibernate.connection.username}"
    
            p:password="${hibernate.connection.password}" />
    
        <bean id="sessionFactory"
    
            class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
    
            p:dataSource-ref="dataSource">
    
            <property name="configLocation">
    
                <value>classpath:hibernate.cfg.xml</value>
    
            </property>
    
        </bean>
    
        <bean id="transactionManager"
    
            class="org.springframework.orm.hibernate3.HibernateTransactionManager"
    
            p:sessionFactory-ref="sessionFactory" />
    
        <tx:annotation-driven/>
    
        
    
    </beans>
    
  • hibernate.cfg.xml
    <?xml version="1.0" encoding="UTF-8"?>
    
    <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    
    <hibernate-configuration>
    
      <session-factory>
    
      
    
      <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
    
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/smvc</property>
    
        <property name="hibernate.connection.username">root</property>
    
        <property name="hibernate.connection.password">vick</property>
    
        <property name="hibernate.connection.pool_size">10</property>
    
        <property name="show_sql">false</property>
    
                  
    
        
    
      </session-factory>
    
    </hibernate-configuration>
    
  • hsa.properties
    # To change this template, choose Tools | Templates
    
    # and open the template in the editor.
    
    hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
    
    hibernate.connection.driver_class=com.mysql.jdbc.Driver
    
    hibernate.connection.url=jdbc:mysql://localhost:3306/smvc
    
    hibernate.connection.username =root
    
    hibernate.connection.password =vick
    
     

berikut untuk melihat apakah koneksi hibernate yg telah anda buat berhasil atau tidak?

  • TestConnection.java
    import java.sql.Connection;
    
    import java.sql.SQLException;
    
    import javax.sql.DataSource;
    
    import org.hibernate.cfg.AnnotationConfiguration;
    
    import org.hibernate.cfg.Configuration;
    
    import org.hibernate.tool.hbm2ddl.SchemaExport;
    
    import org.springframework.context.support.AbstractApplicationContext;
    
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    public class TestConnection {
    
      
    
      public static void main(String [] args) {
    
        AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
    
            DataSource dataSource = (DataSource) ctx.getBean("dataSource");
    
            Configuration cfg = new AnnotationConfiguration().configure("hibernate.cfg.xml").setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLInnoDBDialect");
    
            try{
    
            Connection conn = dataSource.getConnection();
    
            new SchemaExport(cfg, conn).create(true, true);
    
            System.out.println("Koneksi berhasil");
    
            conn.close();
    
            }catch(SQLException e){
    
                System.out.println("Koneksi gagal");  
    
            }
    
            ctx.registerShutdownHook();
    
      }
    
    }
    
  • berikut adalah hasilnya :D
  • 06 Okt 10 23:24:17 org.springframework.context.support.AbstractApplicationContext prepareRefresh
    
    INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@dd5b: startup date [Wed Oct 06 23:24:17 ICT 2010]; root of context hierarchy
    
    06 Okt 10 23:24:17 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    
    INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
    
    06 Okt 10 23:24:17 org.springframework.core.io.support.PropertiesLoaderSupport loadProperties
    
    INFO: Loading properties file from class path resource [hsa.properties]
    
    06 Okt 10 23:24:17 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    
    INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@a352a5: defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,dataSource,sessionFactory,transactionManager,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframework.transaction.config.internalTransactionAdvisor]; root of factory hierarchy
    
    06 Okt 10 23:24:17 org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
    
    INFO: Loaded JDBC driver: com.mysql.jdbc.Driver
    
    0 [main] INFO org.hibernate.cfg.annotations.Version - Hibernate Annotations 3.4.0.GA
    
    16 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.1.GA
    
    16 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
    
    32 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
    
    32 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
    
    110 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.1.0.GA
    
    110 [main] INFO org.hibernate.cfg.Configuration - configuring from url: file:/D:/workspace/blog/springmaven/target/classes/hibernate.cfg.xml
    
    188 [main] INFO org.hibernate.cfg.Configuration - Configured SessionFactory: null
    
    266 [main] INFO org.hibernate.cfg.AnnotationConfiguration - Hibernate Validator not found: ignoring
    
    06 Okt 10 23:24:18 org.springframework.orm.hibernate3.LocalSessionFactoryBean buildSessionFactory
    
    INFO: Building new Hibernate SessionFactory
    
    282 [main] INFO org.hibernate.connection.ConnectionProviderFactory - Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider
    
    688 [main] INFO org.hibernate.cfg.SettingsFactory - RDBMS: MySQL, version: 5.1.41
    
    688 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.12 ( Revision: ${bzr.revision-id} )
    
    703 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.MySQLInnoDBDialect
    
    750 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Transaction strategy: org.springframework.orm.hibernate3.SpringTransactionFactory
    
    750 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): enabled
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - Maximum outer join fetch depth: 2
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
    
    750 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
    
    750 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using create webapp spring maven
    

    1. Langkah pertama create new maven project
    2. ubah pom.xml sehingga menjadi seperti ini:
      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      
        <modelVersion>4.0.0</modelVersion>
      
        <groupId>com.mervpolis.vick</groupId>
      
        <artifactId>springmaven</artifactId>
      
        <packaging>war</packaging>
      
        <version>1.0-SNAPSHOT</version>
      
        <name>springmaven Maven Webapp</name>
      
        <url>http://maven.apache.org</url>
      
        <dependencies>
      
        
      
        <!-- Servlet -->
      
          <dependency>
      
            <groupId>javax.servlet</groupId>
      
              <artifactId>servlet-api</artifactId>
      
              <version>2.5</version>
      
              <scope>provided</scope>
      
          </dependency>
      
          <dependency>
      
          <groupId>javax.servlet.jsp</groupId>
      
          <artifactId>jsp-api</artifactId>
      
          <version>2.1</version>
      
          <scope>provided</scope>
      
        </dependency>
      
        <dependency>
      
          <groupId>javax.servlet</groupId>
      
          <artifactId>jstl</artifactId>
      
          <version>1.2</version>
      
          </dependency>
      
        
      
          <dependency>
      
              <groupId>junit</groupId>
      
              <artifactId>junit</artifactId>
      
              <version>3.8.1</version>
      
              <scope>test</scope>
      
          </dependency>
      
          
      
          <!-- Spring dependencies -->
      
          <dependency>
      
            <groupId>org.springframework</groupId>
      
            <artifactId>spring-beans</artifactId>
      
            <version>3.0.2.RELEASE</version>
      
        </dependency>
      
        <dependency>
      
            <groupId>org.springframework</groupId>
      
            <artifactId>spring-context</artifactId>
      
            <version>3.0.2.RELEASE</version>
      
        </dependency>
      
        <dependency>
      
            <groupId>org.springframework</groupId>
      
            <artifactId>spring-core</artifactId>
      
            <version>3.0.2.RELEASE</version>
      
        </dependency>
      
        <dependency>
      
            <groupId>org.springframework</groupId>
      
            <artifactId>spring-web</artifactId>
      
            <version>3.0.2.RELEASE</version>
      
        </dependency>
      
        <dependency>
      
            <groupId>org.springframework</groupId>
      
            <artifactId>spring-webmvc</artifactId>
      
            <version>3.0.2.RELEASE</version>
      
        </dependency>
      
        <dependency>
      
            <groupId>org.springframework</groupId>
      
            <artifactId>spring-jdbc</artifactId>
      
            <version>3.0.2.RELEASE</version>
      
        </dependency>
      
        <dependency>
      
            <groupId>org.springframework</groupId>
      
            <artifactId>spring-context-support</artifactId>
      
            <version>3.0.2.RELEASE</version>
      
        </dependency>
      
      <!--  Velocity viewer -->
      
        <dependency>
      
          <groupId>org.apache.velocity</groupId>
      
          <artifactId>velocity</artifactId>
      
          <version>1.6.3</version>
      
        </dependency>
      
        <dependency>
      
            <groupId>taglibs</groupId>
      
            <artifactId>standard</artifactId>
      
            <version>1.1.2</version>
      
        </dependency> 
      
        </dependencies>
      
        <build>
      
        
      
          <finalName>springmaven</finalName>
      
        </build>
      
      </project>
      
    3. ubah web.xml sehinggal seperti berikut:
      <?xml version="1.0" encoding="UTF-8"?>
      
      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      
           xmlns="http://java.sun.com/xml/ns/javaee" 
      
           xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
      
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
      
        <display-name>Archetype Created Web Application</display-name>
      
        <context-param>
      
          <param-name>contextConfigLocation</param-name>
      
          <param-value>WEB-INF/applicationContext.xml</param-value>
      
        </context-param>
      
        <listener>
      
          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      
        </listener>
      
        <servlet>
      
          <servlet-name>dispatcher</servlet-name>
      
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      
          <load-on-startup>1</load-on-startup>
      
        </servlet>
      
        <servlet-mapping>
      
          <servlet-name>dispatcher</servlet-name>
      
          <url-pattern>/*</url-pattern>
      
        </servlet-mapping>
      
      </web-app>
      
    4. buat dispatcher-servlet.xml pada WEB-INF
      <?xml version="1.0" encoding="UTF-8"?>
      
      <beans xmlns="http://www.springframework.org/schema/beans"
      
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      
             xmlns:p="http://www.springframework.org/schema/p"
      
             xmlns:context="http://www.springframework.org/schema/context"
      
             xsi:schemaLocation="
      
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
      
          
      
          <context:component-scan base-package="com.mervpolis.vick.springmaven.controller" />
      
          
      
            <!-- Velocity  -->
      
          <bean id="velocityConfig"
      
               class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"
      
               p:resourceLoaderPath="/WEB-INF/velocity/"/>
      
          <bean id="viewResolver"
      
               class="org.springframework.web.servlet.view.velocity.VelocityViewResolver"
      
               p:cache="true"
      
               p:prefix=""
      
               p:suffix=".xhtml"/>
      
      </beans>
    5. buat applicationContext.xml pada folder WEB-INF
      <?xml version="1.0" encoding="UTF-8"?>
      
      <beans xmlns="http://www.springframework.org/schema/beans"
      
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      
             xmlns:context="http://www.springframework.org/schema/context"
      
             xmlns:tx="http://www.springframework.org/schema/tx"
      
             xmlns:p="http://www.springframework.org/schema/p"
      
             xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      
             http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
      
             http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
      
        <context:component-scan base-package="com.mervpolis.vick.springmaven.controller" />
      
          
      
      </beans>
      
    6. Buat class Index.java pada package com.mervpolis.vick.springmaven.controller dengan isi seperti berikut:
      /**
      
       * 
      
       */
      
      package com.mervpolis.vick.springmaven.controller;
      
      import javax.servlet.http.HttpServletRequest;
      
      import javax.servlet.http.HttpServletResponse;
      
      import org.springframework.stereotype.Controller;
      
      import org.springframework.web.bind.annotation.RequestMapping;
      
      import org.springframework.web.bind.annotation.RequestMethod;
      
      import org.springframework.web.servlet.ModelAndView;
      
      /**
      
       * @author vick
      
       *
      
       */
      
      @Controller
      
      public class Index {
      
        @RequestMapping(value="/",method=RequestMethod.GET)
      
        public ModelAndView index(HttpServletRequest request, HttpServletResponse response) {
      
            return new ModelAndView("index");
      
        }
      
      }
      
    7. buat velocity dengan nama index.xhtml pada folder WEB-INF/velocity
      <html>
      
      <body>
      
      <h1>Spring Webapp</h1>
      
      </body>
      
      </html>
    8.   klik kanan pada project-Maven-Update Dependencies
    9. run on server - selesai

    Create new maven project

    1. create new maven project newprojectnewproject2newproject3 newproject4
    2. Edit pom.xml sebagai berikut:
      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      
        <modelVersion>4.0.0</modelVersion>
      
        <groupId>com.mervpolis.vick</groupId>
      
        <artifactId>simplewebapp</artifactId>
      
        <packaging>war</packaging>
      
        <version>1.0-SNAPSHOT</version>
      
        <name>simplewebapp Maven Webapp</name>
      
        <url>http://maven.apache.org</url>
      
        <dependencies>
      
          <dependency>
      
            <groupId>junit</groupId>
      
            <artifactId>junit</artifactId>
      
            <version>3.8.1</version>
      
            <scope>test</scope>
      
          </dependency>
      
        </dependencies>
      
        <build>
      
          <finalName>simplewebapp</finalName>
      
        </build>
      
      </project>
      
    3. web.xml
      <!DOCTYPE web-app PUBLIC
      
       "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
      
       "http://java.sun.com/dtd/web-app_2_3.dtd" >
      
      <web-app>
      
        <display-name>Archetype Created Web Application</display-name>
      
      </web-app>
      
    4. run on server
    5. hasilresult

    Element baru pada html 5

    Internet telah banyak berkembang sejak kemunculan html 4.01. Dengan munculnya html 5 yang tentunya merupakan upgrade dari html 4.01 yang muncul dengan element baru.
    Element-element baru pada html 5 :

    • Markup Elements
    Tag  Description
    <article> Untuk konten eksternal, seperti teks dari artikel-berita, blog, forum, atau konten lain dari sumber eksternal
    <aside> Untuk konten selain konten itu ditempatkan di samping konten yang masuk harus berkaitan dengan isi sekitarnya
    <command> Sebuah tombol, atau radiobutton, atau sebuah kotak centang
    <details> Untuk rincian menggambarkan tentang sebuah dokumen, atau bagian dari dokumen
    <summary> Sebuah keterangan, atau ringkasan, dalam rincian elemen
    <figure> Untuk pengelompokan bagian dari konten berdiri sendiri, bisa video
    <figcaption> Keterangan dari tokoh bagian
    <footer> Untuk footer dari dokumen atau bagian, dapat meliputi nama penulis, tanggal dokumen, informasi kontak, atau informasi hak cipta
    <header> Untuk penerapan suatu dokumen atau bagian, dapat mencakup navigasi
    <hgroup> Untuk bagian dari pos, menggunakan <h1> untuk <h6>, di mana yang terbesar adalah pos utama bagian tersebut, dan yang lainnya sub-judul
    <mark> Untuk teks yang harus disorot
    <meter> Untuk pengukuran, digunakan hanya jika nilai-nilai maksimum dan minimum diketahui
    <nav> Untuk bagian navigasi
    <progress> Keadaan pekerjaan berlangsung
    <ruby> Untuk penjelasan ruby (catatan Cina atau karakter)
    <rt> Untuk penjelasan tentang penjelasan ruby
    <rp> Apa untuk menunjukkan browser yang tidak mendukung elemen ruby
    <section> Untuk bagian dalam dokumen. Seperti bab, header, footer, atau bagian lain dari dokumen
    <time> Untuk menentukan waktu atau tanggal, atau keduanya

     

     

    • Media Elements
    Tag  Description
    <audio> Untuk konten multimedia, suara, musik atau audio lain aliran
    <video> Untuk konten video, misalnya klip video atau video lainnya stream
    <source> Untuk sumber daya media untuk elemen media, yang didefinisikan di  dalam video atau audio elemen
    <embed> Untuk konten tertanam, seperti plug-in

     

    contoh:

    <html>
    <head>
      <title>Media Elements</title>
    </head>
    <body>
    <video width="320" height="240" controls="controls">
      <source src=?video.mp4" type="video/mp4" />
    </video>
    <audio controls="controls">
      <source src="audio.ogg" type="audio/ogg" />
     </audio>
    </body>
    </html>

     

    • The Canvas Element :menggunakan javascript untuk membuat gambar pada halaman web.
    Tag  Description
    <canvas> Untuk membuat grafik dengan script

     

    contoh:

    <canvas id="canvas" width="200" height="100" style="border:1px solid #c3c3c3;">
    </canvas>
    <script type="text/javascript">
    var c=document.getElementById("canvas");
    var cxt=c.getContext("2d");
    cxt.fillStyle="blue";
    cxt.beginPath();
    cxt.fillRect(0,0,150,75);
    cxt.closePath();
    cxt.fill();
    </script>

     

     

    • Form Element
     Tag  Description
    <datalist> Daftar pilihan untuk nilai input
    <keygen> Hasilkan kunci untuk mengotentikasi pengguna
    <output> Untuk berbagai jenis output, seperti output yang ditulis oleh script

     

    • Input Type Attribute Values
     Type  Description
    tel Nilai input nomor telepon
    search Field input adalah field pencarian
    url Nilai input URL
    email Nilai input satu atau lebih alamat email
    datetime Nilai input tanggal dan / atau waktu
    date Nilai input tanggal
    month Nilai input bulan
    week Nilai input seminggu
    time Nilai input waktu jenis
    datetime-local Nilai input adalah tanggal lokal / waktu
    number Nilai input nomor
    range Nilai input nomor dalam kisaran tertentu
    color Nilai input warna heksadesimal, seperti # FF8800

    Membuat table menggunakan tag <div> dan CSS

    Sebelum ada teknologi CSS( Cascading Style Sheets ), kita sering membuat tabel menggunakan html tag <table> </table>, setelah munculnya CSS kita bisa membuat tabel menggunakan html tag <div> yang dikombinasikan dengan css. Disini html tag <div> berfungsi seperti html tag <tr> dan <td> pada <table>.

    • berikut contoh tabel menggunakan html tag <table> </table>

    tabel.html

    <!--

    <html>

    <body>
      <table align="center" cellspacing="0" cellpadding="0" width="300px">
        <tr  bgcolor="red"> 
          <td width="100px">No</td>
          <td width="100px">Nama</td>
          <td width="100px">Alamat</td>
        </tr>
        <tr>
          <td>1</td>
          <td>A</td>
          <td>AA</td>
        </td>
        <tr>
          <td>2</td>
          <td>B</td>
          <td>BB</td>
        </td>
        <tr>
          <td>3</td>
          <td>C</td>
          <td>CC</td>
        </td>
      </table>
    </body>

    </html>

    -->

    • berikut contoh tabel menggunakan <div> dan css

    tablediv.html

    <!--

    <html>

    <head>
        <link href="tablediv.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
      <div id="container">
        <div id="header">
          <ul>
            <li>No</li>
            <li>Nama</li>
            <li>Alamat</li>
          </ul>
        </div>
        <div id="content">
          <ul>
            <li>1</li>
            <li>A</li>
            <li>AA</li>
          </ul>
          <ul>
            <li>2</li>
            <li>B</li>
            <li>BB</li>
          </ul>
          <ul>
            <li>3</li>
            <li>C</li>
            <li>CC</li>
          </ul>      
        </div>
      </div>
    </body>

    </html>

    -->

    tablediv.css

    #container
    {
     margin: 0 auto;
     width: 300px;
     background: #fff;
    }
    #header
    {
     background: red;
     padding: 0;
    }
    #header ul
    {
     margin: 0;
     padding: 0;
    }
    #header ul li
    {
     list-style-type: none;
     display: inline;
     padding: 0 62px 0 0;
    }
    #content
    {
     background: white;
     padding: 0;
    }
    #content ul
    {
     margin: 0;
     padding: 0;
    }
    #content ul li
    {
     list-style-type: none;
     display: inline;
     padding: 0 80px 0 0;
    }

     

    Hampir gak ada bedanya kan. :D
    Keunggulan menggunakan hmtl tag <div> dan CSS adalah web akan lebih ringan dan lebih dinamis.
    Tapi lebih rumit.

    • Contoh site menggunakan CSS dan <div>

    index.html

    <!--

    <html>

      <head><title>table div</title>
        <link href="div.css" rel="stylesheet" type="text/css" />
      </head>
    <body>
      <div id="container">
        <div id="header">
          <h1>
              vick
          </h1>
        </div>
        <div id="navigation">
          <ul>
            <li><a href="#1">All</a></li>
            <li><a href="#2">Java</a></li>
            <li><a href="#3">General</a></li>
            <li><a href="#4">Music</a></li>
          </ul>
        </div>
        <div id="content-container">
          <div id="content">
            <h2>
              Page     
            </h2>
            <p>
            page
            </p>
          </div>
          <div id="aside">
            <h3>
              Profile
            </h3>
            <p>
                 profile
            </p>
          </div>
          <div id="aside">
            <h3>
              Links
            </h3>
            <p>
                 link
            </p>
          </div>
          
        </div>
        <div id="footer">
            footer
          </div>
      </div>
    </body>
    </html>
    -->

     

    div.css

    #container
    {
     margin: 0 auto;
     width: 900px;
     background: #fff;
    }
    #header
    {
     background: #ccc;
     padding: 20px;
    }
    #header h1 { margin: 0; }
    #navigation
    {
     float: left;
     width: 900px;
     background: black;
    }
    #navigation ul
    {
     margin: 0;
     padding: 0;
    }
    #navigation ul li
    {
     list-style-type: none;
     display: inline;
    }
    #navigation li a
    {
     display: block;
     float: left;
     padding: 5px 10px;
     color: #fff;
     text-decoration: none;
     border-right: 1px solid #fff;
    }
    #navigation li a:hover { background: red; }
    #content-container
    {
     float: left;
     width: 900px;
     background: #fff;
    }
    #content
    {
     clear: left;
     float: left;
     width: 560px;
     padding: 20px 0;
     margin: 0 0 0 30px;
     display: inline;
    }

    Hasil

    Selamat Mencoba

    validasi pada spring mvc

    Tentunya dalam membuat sebuah apliksai web, kita tidak akan jauh dari yang namanya validasi.
    Berikut ini, saya akan menjelaskan cara menggunakan validator pada spring mvc.
    Dalam validasi pada spring mvc terdapat 2 method yang di gunakan yaitu:

    • supports(Class) ?> Digunakan untuk mengenali class mana yang akan di validasi
    • validate(Object, org.springframework.validation.Errors) ?> memvalidasi objek yang diberikan dan jika terjadi kesalahan maka mendaftarkan objek dengan diberikan errors objek
    • ItemValidator.java
        1: public class ItemValidator implements Validator{
      
        2:  
      
        3:  //Class yang akan di validasi
      
        4:     public boolean supports(Class<?> clazz){
      
        5:         return Item.class.equals(clazz);
      
        6:     }
      
        7: 
      
        8:     public void validate(Object val, Errors errors){
      
        9:         ValidationUtils.rejectIfEmpty(errors, "code", "code.empty");
      
       10:         ValidationUtils.rejectIfEmpty(errors, "name", "name.empty");
      
       11:         ValidationUtils.rejectIfEmpty(errors, "price", "price.empty");
      
       12:     }
      
       13: 
      
       14: }

        static rejectIfEmpty(??) adalah method dari class ValidationUtils yang digunakan untuk me-reject property ?code? / property ?name? / property ?price? jika bernilai null  atau string kosong.

        • Buat file ?> messages_en_US.properties ?> simpan pada classpath
        •   1: code.empty = Code should not empty
          
            2: name.empty = Name should not empty
          
            3: price.empty = price should not empty or zero
        • untuk view nya :
        •   1: <?xml version="1.0" encoding="UTF-8"?>
          
            2: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
          
            3: <html xmlns="http://www.w3.org/1999/xhtml">
          
            4:     <head>
          
            5:         <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
          
            6:         <title>Item</title>
          
            7:         <!--script type="text/javascript">
          
            8:             function search() {
          
            9:                 var input = document.getElementsByName("name").value='';
          
           10:             }
          
           11:         </script-->
          
           12:     </head>
          
           13:     <body>
          
           14:         <form id="item" action="" method="post" >
          
           15:             <table bgcolor="#000000" border="0" cellpadding="3" cellspacing="1" align="center">
          
           16:                 <tr bgcolor="#d0dcff">
          
           17:                     <td colspan="2">
          
           18:                         <strong>Item</strong>
          
           19:                     </td>
          
           20:                 </tr>
          
           21:                 <tr bgcolor="#ffffff">
          
           22:                     <td>Code</td>
          
           23:                     <td>
          
           24:                      <input type="text" name="code" id="code" value="$!item.code" maxlength="20" tabindex="1"/>
          
           25:                      #springBind("item.code")
          
           26:                      #springShowErrors("<br/>" "")
          
           27:      </td>
          
           28: 
          
           29:                 </tr>
          
           30:                 <tr bgcolor="#ffffff">
          
           31:                     <td>Name</td>
          
           32:                     <td>
          
           33:                      <input type="text" name="name" id="name" value="$!item.name" tabindex="2" maxlength="20"/>
          
           34:                      #springBind("item.name")
          
           35:                      #springShowErrors("<br/>" "")
          
           36:      </td>
          
           37:                 </tr>
          
           38:                 <tr bgcolor="#ffffff">
          
           39:                     <td>Price</td>
          
           40:                     <td>
          
           41:                      <input type="text" name="price" value="$!item.price" id="price" tabindex="3" maxlength="20"/>
          
           42:                      #springBind("item.price")
          
           43:                      #springShowErrors("<br/>" "")
          
           44:      </td>
          
           45:                 </tr>
          
           46:                 <tr bgcolor="#ffffff">
          
           47:                     <td>Description</td>
          
           48:                     <td><textarea name="description" id="description" tabindex="5" class="text" maxlength="100">$!item.description</textarea></td>
          
           49:                 </tr>
          
           50:                 <tr bgcolor="#ffffff">
          
           51:                     <td colspan="2">
          
           52:                         <input type="submit" value="Submit" tabindex="20"/>
          
           53:                         <input type="reset" tabindex="21"/>
          
           54:                     </td>
          
           55:                 </tr>
          
           56:             </table>
          
           57:         </form>
          
           58:         <br/><br/>
          
           59:         
          
           60:     </body>
          
           61: </html>

                #springBind(?.) ?> digunakan untuk mengambil object errors yang sudah terdaftar

                • Contoh:

                validate

                Selamat mencoba :D

                Spring 3 mvc rest

                Kali ini saya akan memberikan contoh implementasi rest pada spring 3 mvc .

                • Library yang di gunakan :
                          • aopalliance-1.0.jar
                          • commons-logging-1.1.1.jar
                          • servlet-api-2.5.jar
                          • org.springframework.asm-3.0.0.RELEASE.jar
                          • org.springframework.beans-3.0.0.RELEASE.jar
                          • org.springframework.context-3.0.0.RELEASE.jar
                          • org.springframework.context.support-3.0.0.RELEASE.jar
                          • org.springframework.core-3.0.0.RELEASE.jar
                          • org.springframework.expression-3.0.0.RELEASE.jar
                          • org.springframework.web-3.0.0.RELEASE.jar
                          • org.springframework.web.servlet-3.0.0.RELEASE.jar
                          • hibernate-core-3.3.1.GA.jar
                          • hibernate-search-3.1.0.GA.jar
                          • hibernate-commons-annotations-3.1.0.GA.jar
                          • hibernate-annotations-.3.4.0.GA.jar
                • Struktur project

                  struktur

                 

                • Item.java
                    1: package org.blueoxygen.cimande2.entity;
                    2: 
                    3: import java.io.Serializable;
                    4: import javax.persistence.Column;
                    5: import javax.persistence.Entity;
                    6: import javax.persistence.GeneratedValue;
                    7: import javax.persistence.Id;
                    8: import javax.persistence.Table;
                    9: import org.hibernate.annotations.GenericGenerator;
                   10: 
                   11: /**
                   12:  *
                   13:  * @author vick
                   14:  */
                   15: @Entity
                   16: @Table
                   17: public class Item implements Serializable{
                   18:     
                   19:     @Id
                   20:     @GeneratedValue(generator="i")
                   21:     @GenericGenerator(name="i", strategy="uuid")
                   22:     @Column
                   23:     private String id;
                   24: 
                   25:     @Column
                   26:     private String code;
                   27: 
                   28:     @Column
                   29:     private String name;
                   30: 
                   31:     @Column
                   32:     private Long price;
                   33: 
                   34:     @Column
                   35:     private String description;
                   36: 
                   37:      //Getter and Setter
                • BaseDaoHibernate.java
                    1: package org.blueoxygen.cimande2.dao.base;
                    2: 
                    3: import java.lang.reflect.ParameterizedType;
                    4: import java.util.List;
                    5: 
                    6: import org.hibernate.SessionFactory;
                    7: import org.springframework.beans.factory.annotation.Autowired;
                    8: 
                    9: 
                   10: /**
                   11:  *
                   12:  * @author vick
                   13:  */
                   14: public class BaseDaoHibernate<T> {
                   15: 
                   16:     @SuppressWarnings("unchecked")
                   17:     protected Class domainClass;
                   18:     
                   19:     @Autowired protected SessionFactory sessionFactory;
                   20: 
                   21:     @SuppressWarnings("unchecked")
                   22:     public BaseDaoHibernate(){
                   23:         this.domainClass = (Class) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
                   24:     }
                   25: 
                   26:     @SuppressWarnings("unchecked")
                   27:     public T findById(String id){
                   28:         if(id.equalsIgnoreCase("")) return null;
                   29:         final T domain = (T) sessionFactory.getCurrentSession().get(domainClass, id);
                   30:         return domain;
                   31:     }
                   32: 
                   33:     public T save(T domain){
                   34:         sessionFactory.getCurrentSession().saveOrUpdate(domain);
                   35:         return domain;
                   36:     }
                   37: 
                   38:     public void delete(T domain){
                   39:         sessionFactory.getCurrentSession().delete(domain);
                   40:     }
                   41: 
                   42:     @SuppressWarnings("unchecked")
                   43:     public List<T> findAll(Integer startIndex, Integer pageSize){
                   44:         return sessionFactory.getCurrentSession().createQuery("from "+domainClass.getName()).setFirstResult(startIndex).setMaxResults(pageSize).list();
                   45:     }
                   46: 
                   47:     @SuppressWarnings("unchecked")
                   48:     public List<T> findAll(){
                   49:         return sessionFactory.getCurrentSession().createQuery("from "+domainClass.getName()).list();
                   50:     }
                   51: }

                untuku konfigurasi hibernate ada di blog sebelah :D   link?> spring hibernate 

                • ItemDao.java
                    1: package org.blueoxygen.cimande2.dao;
                  
                    2: 
                  
                    3: 
                  
                    4: import org.blueoxygen.cimande2.dao.base.BaseDaoHibernate;
                  
                    5: import org.blueoxygen.cimande2.entity.Item;
                  
                    6: import org.springframework.stereotype.Repository;
                  
                    7: 
                  
                    8: /**
                  
                    9:  *
                  
                   10:  * @author vick
                  
                   11:  */
                  
                   12: @Repository
                  
                   13: public class ItemDao extends BaseDaoHibernate<Item>{
                  
                   14: 
                  
                   15:  }
                • ItemService.java
                    1: package org.blueoxygen.cimande2.service;
                    2: 
                    3: import java.util.List;
                    4: 
                    5: import org.blueoxygen.cimande2.entity.Item;
                    6: 
                    7: 
                    8: /**
                    9:  *
                   10:  * @author vick
                   11:  */
                   12: public interface ItemService {
                   13: 
                   14:     void save(Item item);
                   15:     void delete(Item item);
                   16:     Item getItem(String id);
                   17:     
                   18: }
                • ItemServiceImpl.java
                    1: import org.blueoxygen.cimande2.dao.ItemDao;
                  
                    2: import org.blueoxygen.cimande2.entity.Item;
                  
                    3: import org.blueoxygen.cimande2.service.ItemService;
                  
                    4: import org.springframework.beans.factory.annotation.Autowired;
                  
                    5: import org.springframework.stereotype.Service;
                  
                    6: import org.springframework.transaction.annotation.Transactional;
                  
                    7: 
                  
                    8: /**
                  
                    9:  *
                  
                   10:  * @author vick
                  
                   11:  */
                  
                   12: @Service("itemService")
                  
                   13: @Transactional(readOnly = true)
                  
                   14: public class ItemServiceImpl implements ItemService {
                  
                   15: 
                  
                   16:     @Autowired
                  
                   17:     private ItemDao itemDao;
                  
                   18: 
                  
                   19:     @Transactional
                  
                   20:     public void save(Item item) {
                  
                   21:         itemDao.save(item);
                  
                   22:     }
                  
                   23: 
                  
                   24:     @Transactional
                  
                   25:     public void delete(Item item) {
                  
                   26:         itemDao.delete(item);
                  
                   27:     }
                  
                   28: 
                  
                   29:     public Item getItem(String id) {
                  
                   30:         return itemDao.findById(id);
                  
                   31:     }
                  
                   32:     
                  
                   33: }
                • ItemController.java
                    1: package org.blueoxygen.cimande2.controller;
                  
                    2: 
                  
                    3: 
                  
                    4: import javax.servlet.http.HttpServletRequest;
                  
                    5: import javax.servlet.http.HttpServletResponse;
                  
                    6: 
                  
                    7: import org.blueoxygen.cimande2.service.ItemService;
                  
                    8: import org.blueoxygen.cimande2.ui.form.ItemForm;
                  
                    9: import org.blueoxygen.cimande2.ui.validator.ItemValidator;
                  
                   10: import org.springframework.beans.factory.annotation.Autowired;
                  
                   11: import org.springframework.stereotype.Controller;
                  
                   12: import org.springframework.validation.BindingResult;
                  
                   13: import org.springframework.web.bind.annotation.ModelAttribute;
                  
                   14: import org.springframework.web.bind.annotation.RequestMapping;
                  
                   15: import org.springframework.web.bind.annotation.RequestMethod;
                  
                   16: import org.springframework.web.servlet.ModelAndView;
                  
                   17: import org.springframework.web.servlet.view.RedirectView;
                  
                   18: 
                  
                   19: /**
                  
                   20:  *
                  
                   21:  * @author vick
                  
                   22:  */
                  
                   23: @Controller
                  
                   24: public class ItemController{
                  
                   25: 
                  
                   26:     @Autowired private ItemService itemService;
                  
                   27:     @RequestMapping(value="/item", method=RequestMethod.GET)
                  
                   28:     public ModelAndView item(HttpServletRequest request, HttpServletResponse response) throws Exception{
                  
                   29:         ModelAndView mv = new ModelAndView();
                  
                   30:         mv.addObject("item", new ItemForm());
                  
                   31:         mv.setViewName("item/item-add");
                  
                   32:         return mv;
                  
                   33:     }
                  
                   34: 
                  
                   35:     @RequestMapping(value="/item", method=RequestMethod.POST)
                  
                   36:     public ModelAndView item(HttpServletRequest request, @ModelAttribute("item") ItemForm item, BindingResult bindingResult){
                  
                   37:         new ItemValidator().validate(item, bindingResult);
                  
                   38:         if(bindingResult.hasErrors()){
                  
                   39:             ModelAndView mv = new ModelAndView();
                  
                   40:             mv.addObject("item", item);
                  
                   41:             mv.setViewName("item/item-add");
                  
                   42:             return mv;
                  
                   43:         }else{
                  
                   44:             itemService.save(item.getItem());
                  
                   45:             return new ModelAndView(new RedirectView(request.getContextPath()+"/view/item/"+ item.getId()));
                  
                   46:         }
                  
                   47: 
                  
                   48:     }
                  
                   49: }
                • web.xml
                    1: <?xml version="1.0" encoding="UTF-8"?>
                  
                    2: <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
                  
                    3:   <display-name>rest-springmvc</display-name>
                  
                    4:   <context-param>
                  
                    5:     <param-name>contextConfigLocation</param-name>
                  
                    6:     <param-value>classpath:applicationContext.xml</param-value>
                  
                    7:   </context-param>
                  
                    8:   <listener>
                  
                    9:     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
                  
                   10:   </listener>
                  
                   11:   <servlet>
                  
                   12:     <servlet-name>dispatcher</servlet-name>
                  
                   13:     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                  
                   14:     <load-on-startup>2</load-on-startup>
                  
                   15:   </servlet>
                  
                   16:   <servlet-mapping>
                  
                   17:     <servlet-name>dispatcher</servlet-name>
                  
                   18:     <url-pattern>/*</url-pattern>
                  
                   19:   </servlet-mapping>
                  
                   20:   <session-config>
                  
                   21:     <session-timeout>30</session-timeout>
                  
                   22:   </session-config>
                  
                   23:   <welcome-file-list>
                  
                   24:     <welcome-file>index.xhtml</welcome-file>
                  
                   25:   </welcome-file-list>
                  
                   26: </web-app>
                • dispatcher-servlet.xml
                        1: <?xml version="1.0" encoding="UTF-8"?>
                      
                        2: <beans xmlns="http://www.springframework.org/schema/beans"
                      
                        3:        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                      
                        4:        xmlns:p="http://www.springframework.org/schema/p"
                      
                        5:        xmlns:context="http://www.springframework.org/schema/context"
                      
                        6:        xsi:schemaLocation="
                      
                        7:    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                      
                        8:    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
                      
                        9:     <context:component-scan base-package="org.blueoxygen.cimande2.controller" />
                      
                       10:     <bean id="velocityConfig"
                      
                       11:          class="org.springframework.web.servlet.view.velocity.VelocityConfigurer"
                      
                       12:          p:resourceLoaderPath="/WEB-INF/velocity/"/>
                      
                       13:     <bean id="viewResolver"
                      
                       14:          class="org.springframework.web.servlet.view.velocity.VelocityViewResolver"
                      
                       15:          p:cache="true"
                      
                       16:          p:prefix=""
                      
                       17:          p:suffix=".xhtml"/>
                      
                       18:     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
                      
                       19:         <property name="maxUploadSize" value="10000000"/>
                      
                       20:     </bean>
                      
                       21:     
                      
                       22:         
                      
                       23:     <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver" p:order="1">
                      
                       24:         <property name="mediaTypes">
                      
                       25:             <map>
                      
                       26:                 <entry key="json" value="application/json"/>
                      
                       27:             </map>
                      
                       28:         </property>
                      
                       29:     </bean>
                      
                       30:     
                      
                       31:     <bean id="messageSource"
                      
                       32:         class="org.springframework.context.support.ResourceBundleMessageSource"
                      
                       33:         p:basename="messages" />
                      
                       34: </beans>

                  • Hasil

                  hasil 

                    • Berikut adalah contoh implementasi rest pada spring 3 mvc versi saya.
                      Untuk kurang lebihnya saya mohon maaf dan terimakasih.
                        Next Week---> validator pada spring 3 mvc rest

                    JSON in Rest Spring MVC

                    library json yang di pakai : - jackson-core-asl-1.5.2.jar - jackson-mapper-asl-1.5.2.jar

                    tambahkan kode dibawah ini pada dispatcher-servlet.xml



                    hasil:





                    gampang kan !!! :D Good Luck

                    Ireport - Membatasi Baris Yang di Print Tiap Halaman

                    Pada kondisi biasa ireport akan mencetak baris pada halaman pertaman dan bila tidak cukup akan dilanjutkan pada halaman kedua. Hasilnya pasti tidak rapi. Oleh karena itu saya akan menjelaskan cara mengatur jumlah baris tiap halaman.

                    Berikut adalah hasil report sebelum ada pengaturan:



                    Pertama tama buat Report Group baru seperti gambar di bawah ini:



                    Pada Group Criteria isi Group following by expression :
                    new Integer((int)(($V{REPORT_COUNT}.intValue()-1)/10)) --> 10 adalah batas baris tiap halaman



                    klik next -> finish (pastikan group header dan footer telah anda check )



                    check "Start on new page" pada properties group yang telah di buat



                    ubah band height pada group header dan footer yang dibuat menjadi 0.


                    hasil:






                    Good Luck