[
https://issues.apache.org/jira/browse/WW-3792?focusedWorklogId=1048035&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-1048035
]
ASF GitHub Bot logged work on WW-3792:
--------------------------------------
Author: ASF GitHub Bot
Created on: 17/Oct/26 14:02
Start Date: 17/Oct/26 14:02
Worklog Time Spent: 10m
Work Description: lukaszlenart opened a new pull request, #2041:
URL: https://github.com/apache/struts/pull/2041
Relates to [WW-3792](https://issues.apache.org/jira/browse/WW-3792)
## Summary
WW-3792 reports that under `css_xhtml` a `<s:checkbox labelposition="left">`
wraps its label and control in `<span>`, while other controls use `<div>`. That
is not checkbox-specific: every `css_xhtml` control uses `<div>` only for
`labelPosition="top"` (the default) and `<span>` otherwise — see
`controlheader-core.ftl` / `controlheader.ftl`. A textfield at `left` renders
the same spans, and did so in 2.3.1.2 as well.
This PR is test-only. It renders a textfield and a checkbox, both
`css_xhtml` with `labelPosition="left"`, and asserts their `wwlbl_*` and
`wwctrl_*` wrappers use the same element, so the checkbox template stays in
step with the other controls.
## Verification
- `CheckboxTest`: 22/22 pass on current code.
- With the checkbox's left-label wrapper in `css_xhtml/checkbox.ftl` changed
from `<span` to `<div`, the new test fails with `expected:<[span]> but
was:<[div]>`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Issue Time Tracking
-------------------
Worklog Id: (was: 1048035)
Remaining Estimate: 0h
Time Spent: 10m
> s:checkbox (org.apache.struts2.components.Checkbox) generates span instead of
> div when using labelposition="left"
> -----------------------------------------------------------------------------------------------------------------
>
> Key: WW-3792
> URL: https://issues.apache.org/jira/browse/WW-3792
> Project: Struts 2
> Issue Type: Bug
> Components: Core Actions
> Affects Versions: 2.3.1.2
> Environment: Tomcat 6 / JDK 1.5
> Reporter: emmanuelg
> Assignee: Lukasz Lenart
> Priority: Major
> Fix For: 7.5.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> When using theme="css_xhtml", most of components
> (s:textfield,s:textarea,s:radio,s:select) generate code like that :
> <div class="wwgrp">
> <div class="wwlbl">
> <LABEL>
> </div>
> <div class="wwctrl" >
> <Component = input or select or textarea>
>
> </div>
> </div>
> Wheras if you use s:checkbox with labelposition="left" it generates something
> like that (span instead of div) :
> <s:checkbox key="myKeyValue" labelposition="left" />
> generates :
> <div class="wwgrp">
> <span class="wwlbl">
> <LABEL>
> </span>
> <span class="wwctrl" >
> <Component = input or select or textarea>
>
> </span>
> </div>
> When you use css_xhtml and a css to display a form, this is a real problem.
> As a workaround, you have to display checkbox using parentThem=simple, and
> generate div by yourself.
> Maybe this problem is due to the fact that by default, all component have :
> - label at left
> - value at right
> Expect for checkbox that has :
> - label at right
> - value at left
--
This message was sent by Atlassian Jira
(v8.20.10#820010)