There are a couple of other ways of implementing this without actually "locking" the data, but essentially it's the age old problem of getting data and hoping that when it's saved, you're not overwriting somebody elses updates.
Basically, most of the strategies revolve around carrying around versioning information (e.g. a version number, timestamp, etc) with the data. If you are using value objects to ship data between your business and web tiers, then this is a good place in which to store this information.
Here's a couple of links for further information:
http://www.theserverside.com/patterns/index.jsp http://www.theserverside.com/patterns/thread.jsp?thread_id=1695 Hope that helps
Simon