[richfaces-issues] [JBoss JIRA] Created: (RF-7322) DropdownMenu: invalid parameters submitted
Nick Belaevski (JIRA)
jira-events at lists.jboss.org
Wed Jun 3 21:27:56 EDT 2009
DropdownMenu: invalid parameters submitted
------------------------------------------
Key: RF-7322
URL: https://jira.jboss.org/jira/browse/RF-7322
Project: RichFaces
Issue Type: Bug
Components: component-menu
Affects Versions: 3.3.2.CR1
Environment: MyFaces 1.2.6
Reporter: Nick Belaevski
Assignee: Nick Belaevski
Priority: Critical
Fix For: 3.3.2.CR1
<h:form>
<rich:dropDownMenu value="menu">
<rich:menuItem target="_blank" submitMode="server" value="Submit" />
</rich:dropDownMenu>
</h:form>
Leads to: javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher
Also submitted parameters contain number of functions:
2
l
3
a
4
n
5
k
blank
function () {
return /^\s*$/.test(this);
}
camelize
function () {
var parts = this.split("-"), len = parts.length;
if (len == 1) {
return parts[0];
}
var camelized = this.charAt(0) == "-" ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
: parts[0];
for (var i = 1; i < len; i++) {
camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);
}
return camelized;
}
capitalize
function () {
return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
}
dasherize
function () {
return this.gsub(/_/, "-");
}
empty
function () {
return this == "";
}
endsWith
function (pattern) {
var d = this.length - pattern.length;
return d >= 0 && this.lastIndexOf(pattern) === d;
}
escapeHTML
function () {
var self = arguments.callee;
self.text.data = this;
return self.div.innerHTML;
}
evalJSON
function (sanitize) {
var json = this.unfilterJSON();
try {
if (!sanitize || json.isJSON()) {
return eval("(" + json + ")");
}
} catch (e) {
}
throw new SyntaxError("Badly formed JSON string: " + this.inspect());
}
evalScripts
function () {
return this.extractScripts().map(function (script) {return eval(script);});
}
extractScripts
function () {
var matchAll = new RegExp(Prototype.ScriptFragment, "img");
var matchOne = new RegExp(Prototype.ScriptFragment, "im");
return (this.match(matchAll) || []).map(function (scriptTag) {var result = (scriptTag.match(matchOne
) || ["", ""])[1];result = result.replace(/</, "<").replace(/\s*<!--[^\r\n]*/, "");return result
;});
}
gsub
function (pattern, replacement) {
var result = "", source = this, match;
replacement = arguments.callee.prepareReplacement(replacement);
while (source.length > 0) {
if (match = source.match(pattern)) {
result += source.slice(0, match.index);
result += String.interpret(replacement(match));
source = source.slice(match.index + match[0].length);
} else {
result += source, source = "";
}
}
return result;
}
include
function (pattern) {
return this.indexOf(pattern) > -1;
}
inspect
function (useDoubleQuotes) {
var escapedString = this.gsub(/[\x00-\x1f\\]/, function (match) {var character = String.specialChar
[match[0]];return character ? character : "\\u00" + match[0].charCodeAt().toPaddedString(2, 16);});
if (useDoubleQuotes) {
return "\"" + escapedString.replace(/"/g, "\\\"") + "\"";
}
return "'" + escapedString.replace(/'/g, "\\'") + "'";
}
interpolate
function (object, pattern) {
return (new Template(this, pattern)).evaluate(object);
}
isJSON
function () {
var str = this;
if (str.blank()) {
return false;
}
str = this.replace(/\\./g, "@").replace(/"[^"\\\n\r]*"/g, "");
return /^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/.test(str);
}
j_id2_SUBMIT
_
javax.faces.ViewState
b
parseQuery
function (separator) {
var match = this.strip().match(/([^?#]*)(#.*)?$/);
if (!match) {
return {};
}
return match[1].split(separator || "&").inject({}, function (hash, pair) {if ((pair = pair.split
("="))[0]) {var key = decodeURIComponent(pair.shift());var value = pair.length > 1 ? pair.join("=")
: pair[0];if (value != undefined) {value = decodeURIComponent(value);}if (key in hash) {if (!Object.isArray
(hash[key])) {hash[key] = [hash[key]];}hash[key].push(value);} else {hash[key] = value;}}return hash
;});
}
scan
function (pattern, iterator) {
this.gsub(pattern, iterator);
return String(this);
}
startsWith
function (pattern) {
return this.indexOf(pattern) === 0;
}
strip
function () {
return this.replace(/^\s+/, "").replace(/\s+$/, "");
}
stripScripts
function () {
return this.replace(new RegExp(Prototype.ScriptFragment, "img"), "");
}
stripTags
function () {
return this.replace(/<\/?[^>]+>/gi, "");
}
succ
function () {
return this.slice(0, this.length - 1) + String.fromCharCode(this.charCodeAt(this.length - 1) + 1
);
}
times
function (count) {
return count < 1 ? "" : (new Array(count + 1)).join(this);
}
toArray
function () {
return this.split("");
}
toJSON
function () {
return this.inspect(true);
}
toQueryParams
function (separator) {
var match = this.strip().match(/([^?#]*)(#.*)?$/);
if (!match) {
return {};
}
return match[1].split(separator || "&").inject({}, function (hash, pair) {if ((pair = pair.split
("="))[0]) {var key = decodeURIComponent(pair.shift());var value = pair.length > 1 ? pair.join("=")
: pair[0];if (value != undefined) {value = decodeURIComponent(value);}if (key in hash) {if (!Object.isArray
(hash[key])) {hash[key] = [hash[key]];}hash[key].push(value);} else {hash[key] = value;}}return hash
;});
}
truncate
function (length, truncation) {
length = length || 30;
truncation = Object.isUndefined(truncation) ? "..." : truncation;
return this.length > length ? this.slice(0, length - truncation.length) + truncation : String(this
);
}
underscore
function () {
return this.gsub(/::/, "/").gsub(/([A-Z]+)([A-Z][a-z])/, "#{1}_#{2}").gsub(/([a-z\d])([A-Z])/, "
#{1}_#{2}").gsub(/-/, "_").toLowerCase();
}
unescapeHTML
function () {
var div = new Element("div");
div.innerHTML = this.stripTags();
return div.childNodes[0] ? div.childNodes.length > 1 ? $A(div.childNodes).inject("", function (memo
, node) {return memo + node.nodeValue;}) : div.childNodes[0].nodeValue : "";
}
unfilterJSON
function (filter) {
return this.sub(filter || Prototype.JSONFilter, "#{1}");
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the richfaces-issues
mailing list