Package net.i2p.router.web
Class FormHandler
- java.lang.Object
-
- net.i2p.router.web.FormHandler
-
- Direct Known Subclasses:
ConfigAdvancedHandler
,ConfigClientsHandler
,ConfigFamilyHandler
,ConfigHomeHandler
,ConfigKeyringHandler
,ConfigLoggingHandler
,ConfigNetHandler
,ConfigPeerHandler
,ConfigReseedHandler
,ConfigServiceHandler
,ConfigStatsHandler
,ConfigSummaryHandler
,ConfigTunnelsHandler
,ConfigUIHandler
,ConfigUpdateHandler
,EventLogHelper
,GraphHelper
,NetDbHelper
,WizardHandler
public abstract class FormHandler extends Object
Simple form handler base class - does not depend on servlets or jsp, but instead the subclasses are populated with javabean properties. e.g. <jsp:setProperty name="handler" property="*" /> The form is "processed" after the properties are set and the first output property is retrieved - either getAll(), getNotices() or getErrors(). This Handler will only process a single POST. The jsp bean must be declared scope=request.
-
-
Field Summary
Fields Modifier and Type Field Description protected String
_action
protected RouterContext
_context
protected Log
_log
protected String
_method
protected Writer
_out
protected RequestWrapper
_requestWrapper
Only for multipart/form-data.protected Map
_settings
Not for multipart/form-data, will be null
-
Constructor Summary
Constructors Constructor Description FormHandler()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description String
_t(String s)
translate a stringString
_t(String s, Object o)
translate a string with a parameter This is a lot more expensive than _t(s), so use sparingly.String
_t(String s, Object o, Object o2)
two params @since 0.8.2static String
_x(String s)
Mark a string for extraction by xgettext and translation.protected void
addFormError(String errorMsg)
Add an error message to display Use if it does not include a link.protected void
addFormErrorNoEscape(String msg)
Add an error message to display Use if it includes a link or other formatting.protected void
addFormNotice(String msg)
Add a non-error message to display Use if it does not include a link.protected void
addFormNoticeNoEscape(String msg)
Add a non-error message to display Use if it includes a link or other formatting.String
getAllMessages()
Display everything, wrap it in a div for consistent presentationString
getErrors()
Display any error messages (processing the form if it hasn't been yet)protected String
getJettyString(String key)
setSettings() must have been called previously Curses Jetty for returning arrays.String
getNewNonce()
Generate a new nonce.String
getNotices()
Display any non-error messages (processing the form if it hasn't been yet)boolean
isAdvanced()
Same as HelperBaseprotected abstract void
processForm()
Implement this to perform the final processing (in turn, adding formNotice and formError messages, etc) Will only be called if _action is non-null and the nonce is valid.void
setAction(String val)
void
setContextId(String contextId)
Configure this bean to query a particular router contextvoid
setNonce(String val)
void
setRequestWrapper(RequestWrapper rw)
Only set by formhandler.jsi for multipart/form-datavoid
setSettings(Map settings)
For many forms, it's easiest just to put all the parameters here.void
storeMethod(String val)
Call this to prevent changes using GETvoid
storeNonces(String n1, String n2)
The old nonces from the sessionvoid
storeWriter(Writer out)
-
-
-
Field Detail
-
_context
protected RouterContext _context
-
_log
protected Log _log
-
_settings
protected Map _settings
Not for multipart/form-data, will be null
-
_requestWrapper
protected RequestWrapper _requestWrapper
Only for multipart/form-data. Warning, parameters are NOT XSS filtered
-
_action
protected String _action
-
_method
protected String _method
-
_out
protected Writer _out
-
-
Method Detail
-
setContextId
public void setContextId(String contextId)
Configure this bean to query a particular router context- Parameters:
contextId
- beginning few characters of the routerHash, or null to pick the first one we come across.
-
setNonce
public void setNonce(String val)
-
setAction
public void setAction(String val)
-
setSettings
public void setSettings(Map settings)
For many forms, it's easiest just to put all the parameters here.- Since:
- 0.9.4 consolidated from numerous FormHandlers
-
setRequestWrapper
public void setRequestWrapper(RequestWrapper rw)
Only set by formhandler.jsi for multipart/form-data- Since:
- 0.9.19
-
isAdvanced
public boolean isAdvanced()
Same as HelperBase- Since:
- 0.9.14.1
-
getJettyString
protected String getJettyString(String key)
setSettings() must have been called previously Curses Jetty for returning arrays.- Returns:
- trimmed string or null
- Since:
- 0.9.4 consolidated from numerous FormHandlers
-
storeMethod
public void storeMethod(String val)
Call this to prevent changes using GET- Parameters:
val
- the request method- Since:
- 0.8.2
-
storeWriter
public void storeWriter(Writer out)
- Since:
- 0.9.38
-
storeNonces
public void storeNonces(String n1, String n2)
The old nonces from the session- Since:
- 0.9.4
-
processForm
protected abstract void processForm()
Implement this to perform the final processing (in turn, adding formNotice and formError messages, etc) Will only be called if _action is non-null and the nonce is valid.
-
addFormError
protected void addFormError(String errorMsg)
Add an error message to display Use if it does not include a link. Escapes '<' and '>' before queueing
-
addFormNotice
protected void addFormNotice(String msg)
Add a non-error message to display Use if it does not include a link. Escapes '<' and '>' before queueing
-
addFormNoticeNoEscape
protected void addFormNoticeNoEscape(String msg)
Add a non-error message to display Use if it includes a link or other formatting. Does not escape '<' and '>' before queueing- Since:
- 0.9.14.1
-
addFormErrorNoEscape
protected void addFormErrorNoEscape(String msg)
Add an error message to display Use if it includes a link or other formatting. Does not escape '<' and '>' before queueing- Since:
- 0.9.19
-
getAllMessages
public String getAllMessages()
Display everything, wrap it in a div for consistent presentation
-
getErrors
public String getErrors()
Display any error messages (processing the form if it hasn't been yet)
-
getNotices
public String getNotices()
Display any non-error messages (processing the form if it hasn't been yet)
-
getNewNonce
public String getNewNonce()
Generate a new nonce. Only call once per page!- Returns:
- a new random long as a String
- Since:
- 0.8.5
-
_t
public String _t(String s, Object o)
translate a string with a parameter This is a lot more expensive than _t(s), so use sparingly.- Parameters:
s
- string to be translated containing {0} The {0} will be replaced by the parameter. Single quotes must be doubled, i.e. ' -> '' in the string.o
- parameter, not translated. To translate parameter also, use _t("foo {0} bar", _t("baz")) Do not double the single quotes in the parameter. Use autoboxing to call with ints, longs, floats, etc.
-
-