For the first case {One + 1 } can I say that , since there is no attribute bound with literal "one" , and the value of a unknown attribute in a numeric calculation evaluates to 0 . hence its {0 + 1 } which gives 1 . Atleast this is what I could infer after having read HFS

bernard, When we use EL without specifying any scope,it starts looking in all the scopes starting with page scope.So ,in this case we have pageScope bound variable "One" and its value is 1(Integer).But the automatic conversion from Integer to int is not supported so 1(Integer) will result to "0" and ${One+1} results to 1.My understanding is , EL converts only String to required datatype and evaluates the logic. Ex:${Two+1}.Please correct me,if i'm wrong.

${One + 1} There is no scoped attribute called "One", so it's null. In an addition, null is converted to 0, so the result is ${0+1}, which prints 1.

${Two} There's a scoped attribute called "Two" in request scope, whose value is "2". In an addition, a String will be coerced to a Long (calling Long#valueOf), so "2" becomes 2, resulting in ${2}, which prints 2.