limit offset mysql start dari 0
daripada lupa terus lebih baik ditulis, limit offset mysql start dari 0, bukan dari 1
Menghasilkan Random String Aplhanumeric, Numeric, Ascii
gunakan RandomStringUtils dari commons-lang
melakukan sinkronisasi server dengan ntp
install ack gagal
dapat link ini mengenai bagaimana install ack:
http://dancingpenguinsoflight.com/2008/09/ack-grep-but-better/
coba install di centos gagal karena tidak bisa mengakses
ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY
solusi cepat yang dibuat : download sendiri lewat browser file diatas.
di screen instalasi cpan, isikan manual mirror indonesia yang tertulis dalam file tersebut
ibator last_insert_id
Sedang menggunakan ibator dalam mysql. Sedang bertanya-tanya dimanakah bisa memperoleh last_insert_id dihasilkan oleh ibator for mysql?
Sekilas googling memberikan kesan bahwa ibator :
- tidak mengcreate ‘selectKey’
- melakukan insert value ke field bersifat ‘auto_increment’
Penyelesaian yang diperoleh sejauh ini hanyalah harus mengedit manual artifact yang dihasilkan ibator.
test publish lewat email
baru tahu kalau ternyata wordpress juga bisa publish lewat email. Sekarang bisa bersaing dengan tumblr. Mantaps
wicket SignOutPage
Apa yang sebenarnya dikerjakan oleh SignOutPage sehingga bisa membuat user jadi sign out :
getSession().invalidate();
javascript event
IE menggunakan event bubbling. Event merambat dari element paling khusus terus ke element paling general.
Event Handler / Listener
traditional
IE : attachEvent, detachEvent
Mozilla : addEventListener, removeEventListener
Event Object
IE : window.event
DOM : event adalah satu-satunya argument pada event handler.
Stop event propagation:
IE : oEvent.cancelBubble = true;
DOM : oEvent.stopPropagation();
direct-printing-3
1. siapkan direktori tempat penyimpanan file report yang dibuat. tempatkan lokasi tersebut di web.xml.
<context-param> <param-name>jdevlab.REPORT_DIR</param-name> <param-value>f:/temp/adfupload</param-value> </context-param>
2. siapkan servlet. servlet berfungsi mengirimkan PDF ke applet untuk dicetak.
servlet harus diregistrasikan di web.xml sbb:
<servlet> <servlet-name>ReportPdfServlet</servlet-name> <servlet-class>lab.view.servlet.ReportPdfServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ReportPdfServlet</servlet-name> <url-pattern>/reportdir/*</url-pattern> </servlet-mapping>
Tempatkan sourcecode ReportPdfServlet di direktori sesuai nama packagenya. Contoh diatas menggunakan package ‘lab.view.servlet‘. Sesuaikan dengan tempat direktori yang dipakai di aplikasi.
3. persiapkan codebase applet.
codebase applet adalah tempat dimana file-file jar yang diperlukan applet ditempatkan. codebase tidak dapat ditempatkan di bawah WEB-INF/lib karena lokasi tersebut tidak bisa diakses dari luar. tempatkan codebase di subdirectory biasa seperti file html/jsp/jspx lainnya. contoh tempatkan di public_html/commonapplet.
jar yang terlibat adalah:
- PDFRenderer.jar
- plugin.jar (ambil dari jdk6)
- printpdf.jar
4. buat html/jsp/jspx yang akan digunakan untuk menghasilkan report.
jspx setidaknya melibatkan komponen-komponen berikut:
- ADF commandButton yang digunakan untuk mentrigger proses pembuatan report di server. commandButton ini terhubung dengan actionListener yang akan membuat report di server.
- javascript untuk mentrigger commandButton pada point 1
- applet yang akan memangil javascript di point2 untuk membuat ADF menghasilkan report. selanjutnya applet membaca report tersebut melalui servlet dan mengirimnya ke printer.
Berikut ini commandButton. perhatikan command button dimasukkan dalam panelButtonBar dengan inlineStype=”display:none”. Fungsi panelButtonBar tersebut untuk membuat commandButton tersembunyi dari user. Dalam proses pembuatan bisa hilangkan dulu panelButtonBar untuk mengetes apakah proses pembuatan report di server sudah berhasil atau belum.
<af:panelButtonBar binding="#{backing_report_testReport.panelButtonBar1}"
id="panelButtonBar1" inlineStyle="display:none">
<af:commandButton text="doReport"
binding="#{backing_report_testReport.cbDoReport}"
id="cbDoReport"
action="#{backing_report_testReport.cbDoReport_action}"/>
</af:panelButtonBar>
Berikut javascript yang digunakan. perhatikan javascript memanggil fungsi document.getElementById(‘form1.cbDoReport‘) . Sesuaikan nama cbDoReport dengan nama ADF commandButton yang digunakan untuk mentrigger printing.
<afh:head title="testReport"
binding="#{backing_report_testReport.head1}" id="head1">
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1252"/>
<script type="text/javascript">
function createReport()
{
var elm = null;
elm = document.getElementById('form1:cbDoReport');
if (elm)
{
if (elm.dispatchEvent)
{
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
elm.dispatchEvent(evt);
}
else
{
elm.fireEvent("onclick");
}
}
}
</script>
</afh:head>
Pasang applet seperti dibawah ini. parameter FILENAME applet diset ke backingbean outputFileName yang akan diisi dengan nama report yang dihasilkan backing bean.
<f:verbatim>
<applet archive="printpdf.jar" code="pdfrendererlab.PdfPrint"
codebase="../commonapplet/" height="35" width="75">
<param name="FILENAME"
value="${backing_report_testReport.outputFileName}"/>
</applet>
</f:verbatim>
Good Luck.
javascript event trigger programmatically
tujuan : mentrigger event click pada elm lain dari javascript, yang bisa bekerja di IE maupun Firefox.
<html>
<head>
<title>Multi Browser Event Trigger</title>
<script type="text/javascript">
function doFirstButton()
{
alert("the first button clicked");
}
function doSecondButton()
{
var elm = null;
elm = document.getElementById('firstButton');
if (elm)
{
if (elm.dispatchEvent)
{
// do Mozilla
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
elm.dispatchEvent(evt);
}
else
{
// do Internet Explorer
elm.fireEvent("onclick");
}
}
}
</script>
</head>
<body>
demo event trigger yang bisa dijalankan di Mozilla maupun IE
<form>
<input id="firstButton" type="button" value="first button" onclick="doFirstButton()"/>
<input id ="secondButton" type="button" value="second button" onclick="doSecondButton()"/>
</form>
</body>
</html>
Telah ditest berjalan di Firefox 3.5, IE6, Opera 9.64
tinggalkan komentar