📄 cmsform.java
字号:
if (CmsCheckboxField.class.isAssignableFrom(field.getClass())) {
// this is a checkbox
String[] values = request.getParameterValues(field.getName());
if (values != null) {
for (int i = 0; i < values.length; i++) {
if (value.equals(values[i])) {
return Boolean.toString(true);
}
}
}
} else if (CmsSelectionField.class.isAssignableFrom(field.getClass()) || CmsRadioButtonField.class.isAssignableFrom(field.getClass())) {
// select box or radio button
String fieldValue = request.getParameter(field.getName());
if (CmsStringUtil.isNotEmpty(fieldValue) && fieldValue.equals(value) && !"".equals(value)) {
// mark this as selected
result = Boolean.toString(true);
} else {
// do not mark it as selected
result = "";
}
} else {
// always display fields value arrays
result = Boolean.toString(true);
}
return result;
}
/**
* Removes a field from the form fields.<p>
*
* @param field the field to be removed
*/
protected void removeField(I_CmsField field) {
m_fields.remove(field);
// the fields are also internally backed in a map keyed by their field name
m_fieldsByName.remove(field);
}
/**
* Sets the form configuration errors.<p>
*
* @param configurationErrors the form configuration errors
*/
protected void setConfigurationErrors(List configurationErrors) {
m_configurationErrors = configurationErrors;
}
/**
* Sets the label for the optional confirmation mail checkbox on the input form.<p>
*
* @param confirmationMailCheckboxLabel the label for the optional confirmation mail checkbox on the input form
*/
protected void setConfirmationMailCheckboxLabel(String confirmationMailCheckboxLabel) {
m_confirmationMailCheckboxLabel = confirmationMailCheckboxLabel;
}
/**
* Sets if the optional confirmation mail is enabled.<p>
*
* @param confirmationMailEnabled true if the optional confirmation mail is enabled, otherwise false
*/
protected void setConfirmationMailEnabled(boolean confirmationMailEnabled) {
m_confirmationMailEnabled = confirmationMailEnabled;
}
/**
* Sets the index number of the input field containing the email address for the optional confirmation mail.<p>
*
* @param confirmationMailFieldName the name of the input field containing the email address for the optional confirmation mail
*/
protected void setConfirmationMailField(int confirmationMailFieldName) {
m_confirmationMailField = confirmationMailFieldName;
}
/**
* Sets if the confirmation mail if optional, i.e. selectable by the form submitter.<p>
*
* @param confirmationMailOptional true if the confirmation mail if optional, i.e. selectable by the form submitter, otherwise false
*/
protected void setConfirmationMailOptional(boolean confirmationMailOptional) {
m_confirmationMailOptional = confirmationMailOptional;
}
/**
* Sets the subject of the optional confirmation mail.<p>
*
* @param confirmationMailSubject the subject of the optional confirmation mail
*/
protected void setConfirmationMailSubject(String confirmationMailSubject) {
m_confirmationMailSubject = confirmationMailSubject;
}
/**
* Sets the text of the optional confirmation mail.<p>
*
* @param confirmationMailText the text of the optional confirmation mail
*/
protected void setConfirmationMailText(String confirmationMailText) {
m_confirmationMailText = confirmationMailText;
}
/**
* Sets the plain text of the optional confirmation mail.<p>
*
* @param confirmationMailTextPlain the plain text of the optional confirmation mail
*/
protected void setConfirmationMailTextPlain(String confirmationMailTextPlain) {
m_confirmationMailTextPlain = confirmationMailTextPlain;
}
/**
* Sets the global form attributes.<p>
*
* @param formAttributes the global form attributes
*/
protected void setFormAttributes(String formAttributes) {
m_formAttributes = formAttributes;
}
/**
* Sets the form check text.<p>
*
* @param formCheckText the form confirmation text
*/
protected void setFormCheckText(String formCheckText) {
m_formCheckText = formCheckText;
}
/**
* Sets the form confirmation text.<p>
*
* @param formConfirmationText the form confirmation text
*/
protected void setFormConfirmationText(String formConfirmationText) {
m_formConfirmationText = formConfirmationText;
}
/**
* Sets the optional form input field attributes.<p>
*
* @param formFieldAttributes the optional form input field attributes
*/
protected void setFormFieldAttributes(String formFieldAttributes) {
m_formFieldAttributes = formFieldAttributes;
}
/**
* Sets the form text.<p>
*
* @param formText the form text
*/
protected void setFormText(String formText) {
m_formText = formText;
}
/**
* Sets if at least one of the configured fields is mandatory.<p>
*
* @param hasMandatoryFields true if at least one of the configured fields is mandatory, otherwise false
*/
protected void setHasMandatoryFields(boolean hasMandatoryFields) {
m_hasMandatoryFields = hasMandatoryFields;
}
/**
* Sets the mail bcc recipient(s).<p>
*
* @param mailBCC the mail bcc recipient(s)
*/
protected void setMailBCC(String mailBCC) {
m_mailBCC = mailBCC;
}
/**
* Sets the mail cc recipient(s).<p>
*
* @param mailCC the mail cc recipient(s)
*/
protected void setMailCC(String mailCC) {
m_mailCC = mailCC;
}
/**
* Sets the mail sender address.<p>
*
* @param mailFrom the mail sender address
*/
protected void setMailFrom(String mailFrom) {
m_mailFrom = mailFrom;
}
/**
* Sets the mail subject.<p>
*
* @param mailSubject the mail subject
*/
protected void setMailSubject(String mailSubject) {
m_mailSubject = mailSubject;
}
/**
* Sets the mail subject prefix.<p>
*
* @param mailSubjectPrefix the mail subject prefix
*/
protected void setMailSubjectPrefix(String mailSubjectPrefix) {
m_mailSubjectPrefix = mailSubjectPrefix;
}
/**
* Sets the mail text.<p>
*
* @param mailText the mail text
*/
protected void setMailText(String mailText) {
m_mailText = mailText;
}
/**
* Sets the mail text as plain text.<p>
*
* @param mailTextPlain the mail text as plain text
*/
protected void setMailTextPlain(String mailTextPlain) {
m_mailTextPlain = mailTextPlain;
}
/**
* Sets the mail recipient(s).<p>
*
* @param mailTo the mail recipient(s)
*/
protected void setMailTo(String mailTo) {
m_mailTo = mailTo;
}
/**
* Sets the mail type ("text" or "html").<p>
*
* @param mailType the mail type
*/
protected void setMailType(String mailType) {
m_mailType = mailType;
}
/**
* Sets if the check page should be shown.<p>
*
* @param showCheck true if the check page should be shown, otherwise false
*/
protected void setShowCheck(boolean showCheck) {
m_showCheck = showCheck;
}
/**
* Sets the target URI of this form.<p>
*
* This optional target URI can be used to redirect the user to an OpenCms page instead of displaying a confirmation
* text from the form's XML content.<p>
*
* @param targetUri the target URI
*/
protected void setTargetUri(String targetUri) {
m_targetUri = targetUri;
}
/**
* Creates the checkbox field to activate the confirmation mail in the input form.<p>
*
* @param jsp the initialized CmsJspActionElement to access the OpenCms API
* @param messages the localized messages
* @param initial if true, field values are filled with values specified in the XML configuration, otherwise values are read from the request
* @return the checkbox field to activate the confirmation mail in the input form
*/
private I_CmsField createConfirmationMailCheckbox(CmsJspActionElement jsp, CmsMessages messages, boolean initial) {
A_CmsField field = new CmsCheckboxField();
field.setName(PARAM_SENDCONFIRMATION);
field.setLabel(messages.key("form.confirmation.label"));
// check the field status
boolean isChecked = false;
if (!initial && Boolean.valueOf(jsp.getRequest().getParameter(PARAM_SENDCONFIRMATION)).booleanValue()) {
// checkbox is checked by user
isChecked = true;
}
// create item for field
CmsFieldItem item = new CmsFieldItem(Boolean.toString(true), getConfirmationMailCheckboxLabel(), isChecked);
List items = new ArrayList(1);
items.add(item);
field.setItems(items);
return field;
}
/**
* Checks if the given value is empty and returns in that case the default value.<p>
*
* @param value the configuration value to check
* @param defaultValue the default value to return in case the value is empty
* @return the checked value
*/
private String getConfigurationValue(String value, String defaultValue) {
if (CmsStringUtil.isNotEmpty(value)) {
return value;
}
return defaultValue;
}
/**
* Initializes the optional captcha field.<p>
*
* @param jsp the initialized CmsJspActionElement to access the OpenCms API
* @param xmlContent the XML configuration content
* @param locale the currently active Locale
* @param initial if true, field values are filled with values specified in the XML configuration, otherwise values are read from the request
*/
private void initCaptchaField(CmsJspActionElement jsp, CmsXmlContent xmlContent, Locale locale, boolean initial) {
boolean captchaFieldIsOnInputPage = captchaFieldIsOnInputPage();
boolean displayCheckPage = captchaFieldIsOnCheckPage() && isInputFormSubmitted();
boolean submittedCheckPage = captchaFieldIsOnCheckPage() && isCheckPageSubmitted();
// Todo: read the captcha settings here, don't provide xmlcontent with form!!!
if (captchaFieldIsOnInputPage || displayCheckPage || submittedCheckPage) {
CmsObject cms = jsp.getCmsObject();
I_CmsXmlContentValue xmlValueCaptcha = xmlContent.getValue(NODE_CAPTCHA, locale);
if (xmlValueCaptcha != null) {
// get the field label
String xPathCaptcha = xmlValueCaptcha.getPath() + "/";
String stringValue = xmlContent.getStringValue(cms, xPathCaptcha + NODE_FIELDLABEL, locale);
String fieldLabel = getConfigurationValue(stringValue, "");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -