def _handle_jstl_tag(tagname, param_list, options, ignore_unknown_option=false)
options.each do |name, value|
next if name.is_a?(String)
options[name.to_s] = options.delete(name)
end
option_names = options.keys
unless ignore_unknown_option
unkown_option_names = option_names - param_list
unless unkown_option_names.empty?
msg = "'#{unkown_option_names[0]}': unknown option for '#{tagname}' directive."
raise convert_error(msg, nil)
end
end
sb = "<c:#{tagname}"
(param_list & option_names).each do |name|
value = options[name]
if value.is_a?(Symbol)
sb << " #{name}=\"${#{value}}\""
else
sb << " #{name}=\"#{value}\""
end
end
sb << ">"
stag = sb
etag = "</c:#{tagname}>"
return stag, etag
end