1 import au.id.jericho.lib.html.*; 2 import java.util.*; 3 import java.io.*; 4 import java.net.*; 5 6 public class FormControlDisplayCharacteristics { 7 public static void main(String [] args) throws Exception { 8 String sourceUrlString="data/form.html"; 9 if (args.length==0) 10 System.err.println("Using default argument of \""+sourceUrlString+'"'); 11 else 12 sourceUrlString=args[0]; 13 if (sourceUrlString.indexOf(':')==-1) sourceUrlString="file:"+sourceUrlString; 14 Source source=new Source(new URL(sourceUrlString)); 15 source.setLogWriter(new OutputStreamWriter(System.err)); FormFields formFields=source.findFormFields(); 17 formFields.get("Password").getFormControl().setDisabled(true); 19 formFields.setValue("MailingList","C"); 20 formFields.get("MailingList").getFormControl("C").setDisabled(true); 21 formFields.get("MailingList").getFormControl("D").setDisabled(true); 22 formFields.get("button1").getFormControl().setOutputStyle(FormControlOutputStyle.REMOVE); 24 FormControl rhubarbFormControl=formFields.get("FavouriteFair").getFormControl("rhubarb"); 25 rhubarbFormControl.setOutputStyle(FormControlOutputStyle.REMOVE); 26 formFields.setValue("Address","The Lodge\nDeakin ACT 2600\nAustralia"); 28 formFields.get("Address").getFormControl().setOutputStyle(FormControlOutputStyle.DISPLAY_VALUE); 29 formFields.setValue("FavouriteSports","BB"); 30 formFields.addValue("FavouriteSports","AFL"); 31 formFields.get("FavouriteSports").getFormControl().setOutputStyle(FormControlOutputStyle.DISPLAY_VALUE); 32 OutputDocument outputDocument=new OutputDocument(source); 33 outputDocument.replace(formFields); Segment rhubarbLabelSegment=new Segment(source,rhubarbFormControl.getEnd(),source.findNextTag(rhubarbFormControl.getEnd()).getBegin()); 37 outputDocument.remove(rhubarbLabelSegment); 38 Segment instructionsSegment=source.findNextStartTag(0,"class","instructions",false).getElement().getContent(); 40 outputDocument.replace(instructionsSegment,"A comma separated list of favourite sports is shown above"); 41 42 int cssPathPos=source.toString().indexOf("main.css"); 44 outputDocument.insert(cssPathPos,"data/"); 45 46 Writer out=new FileWriter("NewForm.html"); 47 outputDocument.writeTo(out); 48 out.close(); 49 System.err.println("\nThe form containing new default values has been output to NewForm.html"); 50 System.err.println("This will open automatically in a web browser after you press a key."); 51 } 52 } 53 | Popular Tags |