20020828 Wednesday August 28, 2002

I recommend Eclipse. In response to Russell's post on IDE's, I figured I'd give my opinion. I hate IDE's - for the past couple of years, I could never bring myself to use one for a few reasons (1) too slow, (2) I liked HomeSite too much and it worked for all my Java dev needs, and (3) I didn't like the UI's - not pretty enough for me. Granted, most of these are bad reasons, but we're allowed our opinions right? But with Eclipse 2.0, it's given me enough value-add that I now use it everyday, over IDEA and Sun ONE Studio 4 (a.k.a Forte for Java). It's still slower than HomeSite, but I really like it's look and it does everything I need (although I still use Ant to compile/deploy). Posted in General at Aug 28 2002, 11:48:52 AM MDT Add a Comment

Invalid Reference to Login Page. If you're using form-based authentication in your Tomcat Application - you might've seen this error before:

Apache Tomcat/4.0.4 - HTTP Status 400 - Invalid direct reference to form login page

type: Status report

message: Invalid direct reference to form login page

description: The request sent by the client was syntactically incorrect (Invalid direct reference to form login page).

Well, the good news is - I figured out how to get around this today. Basically, it's caused when someone tried to go directly to your <form-login-page> to login, rather than a protected resource.

I use my index.jsp (welcome-file-list) page to do a redirect to a projected resource:

index.jsp
--------
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<logic:redirect page="/do/mainMenu"/%gt;

So I merely added the error-page declaration below to my web.xml, and whalla - no more error message!

<error-page>
<!-- 400 code is from trying to go directly to login.jsp -->
    <error-code>400</error-code>
    <location>/index.jsp</location>
</error-page>

Posted in Java at Aug 28 2002, 06:07:51 AM MDT 5 Comments

Adding a form element on the fly. I used this code on my project yesterday and thought I'd share.

<script language="text/javascript">
    function addActionToForm() {
        // get the form to add the input element to
        var form = document.getElementById("noteForm");
        
        // Add a action input element
        var action = document.createElement("input");
        action.setAttribute("type", "hidden");
        action.setAttribute("name", "action");
        action.setAttribute("id", "action");
        action.setAttribute("value", "Save");
        
        form.appendChild(action);
        form.submit();
    }
</script>

This works great for me when I want to simulate a button named "action" being clicked, but I want to submit the form with JavaScript.

Hmmm, doesn't seem to work in IE5/Mac. Any tips? Posted in The Web at Aug 28 2002, 12:03:57 AM MDT Add a Comment